Running
Marathon
42.2 km
147m

Running
Marathon
42.2 km
147m
Running
Halbmarathon
21.1 km
Start: 09:00 AM
We want to help people to break the taboo around talking about death, dying and loss. Raising an incredible £22,000 for local hospice care since 2020 Mandy Williams, Children and Young People Therapy Lead, explains how grief can begin before a loved one dies and how parents can support children through it.
Participants will enjoy on-course refreshments including water stations and light snacks.
Pacers will be available at various target times during the race to help runners achieve their desired finish times. Look for the flags indicating each pace group.
Monthly averages based on historical data (2000–present).
:.+/)?embed/|/(index.php/)?(.*)wp-json(/.*|$)|/refer/|/go/|/recommend/|/recommends/","usesTrailingSlash":"1","imageExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php","fileExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php|html|htm","siteUrl":"https://renniegrovepeace.org","onHoverDelay":"100","rateThrottle":"3"}; //# sourceURL=rocket-preload-links-js-extra /* ]]> */ /* <![CDATA[ */ class RocketPreloadLinks { constructor( browser, config ) { this.browser = browser; this.config = config; this.options = this.browser.options; this.prefetched = new Set; this.eventTime = null; this.threshold = 1111; this.numOnHover = 0; } /** * Initializes the handler. */ init() { if ( ! this.browser.supportsLinkPrefetch() || this.browser.isDataSaverModeOn() || this.browser.isSlowConnection() ) { return; } this.regex = { excludeUris: RegExp( this.config.excludeUris, 'i' ), images: RegExp( '.(' + this.config.imageExt + ')$', 'i' ), fileExt: RegExp( '.(' + this.config.fileExt + ')$', 'i' ) }; this._initListeners( this ); } /** * Initializes the event listeners. * * @private * * @param self instance of this object, used for binding "this" to the listeners. */ _initListeners( self ) { // Setting onHoverDelay to -1 disables the "on-hover" feature. if ( this.config.onHoverDelay > -1 ) { document.addEventListener( 'mouseover', self.listener.bind( self ), self.listenerOptions ); } document.addEventListener( 'mousedown', self.listener.bind( self ), self.listenerOptions ); document.addEventListener( 'touchstart', self.listener.bind( self ), self.listenerOptions ); } /** * Event listener. Processes when near or on a valid <a> hyperlink. * * @param Event event Event instance. */ listener( event ) { const linkElem = event.target.closest( 'a' ); const url = this._prepareUrl( linkElem ); if ( null === url ) { return; } switch ( event.type ) { case 'mousedown': case 'touchstart': this._addPrefetchLink( url ); break; case 'mouseover': this._earlyPrefetch( linkElem, url, 'mouseout' ); } } /** * * @private * * @param Element|null linkElem * @param object url * @param string resetEvent */ _earlyPrefetch( linkElem, url, resetEvent ) { const doPrefetch = () => { falseTrigger = null; // Start the rate throttle: 1 sec timeout. if ( 0 === this.numOnHover ) { setTimeout( () => this.numOnHover = 0, 1000 ); } // Bail out when exceeding the rate throttle. else if ( this.numOnHover > this.config.rateThrottle ) { return; } this.numOnHover++; this._addPrefetchLink( url ); }; // Delay to avoid false triggers for hover/touch/tap. let falseTrigger = setTimeout( doPrefetch, this.config.onHoverDelay ); // On reset event, reset the false trigger timer. const reset = () => { linkElem.removeEventListener( resetEvent, reset, { passive: true } ); if ( null === falseTrigger ) { return; } clearTimeout( falseTrigger ); falseTrigger = null; }; linkElem.addEventListener( resetEvent, reset, { passive: true } ); } /** * Adds a <link rel="prefetch" href="<url>"> for the given URL. * * @param string url The Given URL to prefetch. */ _addPrefetchLink( url ) { this.prefetched.add( url.href ); return new Promise( ( resolve, reject ) => { const elem = document.createElement( 'link' ); elem.rel = 'prefetch'; elem.href = url.href; elem.onload = resolve; elem.onerror = reject; document.head.appendChild( elem ); } ).catch(() => { // ignore and continue. }); } /** * Prepares the target link's URL. * * @private * * @param Element|null linkElem Instance of the link element. * @returns {null|*} */ _prepareUrl( linkElem ) { if ( null === linkElem || typeof linkElem !== 'object' || ! 'href' in linkElem || // Link prefetching only works on http/https protocol. [ 'http:', 'https:' ].indexOf( linkElem.protocol ) === -1 ) { return null; } const origin = linkElem.href.substring( 0, this.config.siteUrl.length ); const pathname = this._getPathname( linkElem.href, origin ); const url = { original: linkElem.href, protocol: linkElem.protocol, origin: origin, pathname: pathname, href: origin + pathname }; return this._isLinkOk( url ) ? url : null; } /** * Gets the URL's pathname. Note: ensures the pathname matches the permalink structure. * * @private * * @param object url Instance of the URL. * @param string origin The target link href's origin. * @returns {string} */ _getPathname( url, origin ) { let pathname = origin ? url.substring( this.config.siteUrl.length ) : url; if ( ! pathname.startsWith( '/' ) ) { pathname = '/' + pathname; } if ( this._shouldAddTrailingSlash( pathname ) ) { return pathname + '/'; } return pathname; } _shouldAddTrailingSlash( pathname ) { return ( this.config.usesTrailingSlash && ! pathname.endsWith( '/' ) && ! this.regex.fileExt.test( pathname ) ); } /** * Checks if the given link element is okay to process. * * @private * * @param object url URL parts object. * * @returns {boolean} */ _isLinkOk( url ) { if ( null === url || typeof url !== 'object' ) { return false; } return ( ! this.prefetched.has( url.href ) && url.origin === this.config.siteUrl // is an internal document. && url.href.indexOf( '?
[]:rocket_pairs,a=(("undefined"==typeof rocket_excluded_pairs?[]:rocket_excluded_pairs).map(t=>{var e=t.selector;document.querySelectorAll(e).forEach(e=>{e.setAttribute("data-rocket-lazy-bg-"+t.hash,"excluded")})}),document.querySelector("#wpr-lazyload-bg-container"));var o=rocket_lazyload_css_data.threshold||300;const u=new IntersectionObserver(e=>{e.forEach(t=>{t.isIntersecting&&c.filter(e=>t.target.matches(e.selector)).map(t=>{var e;t&&((e=document.createElement("style")).textContent=t.style,a.insertAdjacentElement("afterend",e),t.elements.forEach(e=>{u.unobserve(e),e.setAttribute("data-rocket-lazy-bg-"+t.hash,"loaded")}))})})},{rootMargin:o+"px"});function n(){0<(0<arguments.length&&void 0!==arguments[0]?arguments[0]:[]).length&&c.forEach(t=>{try{document.querySelectorAll(t.selector).forEach(e=>{"loaded"!==e.getAttribute("data-rocket-lazy-bg-"+t.hash)&&"excluded"!==e.getAttribute("data-rocket-lazy-bg-"+t.hash)&&(u.observe(e),(t.elements||=[]).push(e))})}catch(e){console.error(e)}})}n(),function(){const r=window.MutationObserver;return function(e,t){if(e&&1===e.nodeType)return(t=new r(t)).observe(e,{attributes:!0,childList:!0,subtree:!0}),t}}()(document.querySelector("body"),n)}},{}]},{},[1]); //# sourceURL=rocket_lazyload_css-js-after /* ]]> */ /* <![CDATA[ */ var the_ajax_script = {"ajaxurl":"https://renniegrovepeace.org/wp-admin/admin-ajax.php","rurl":"https://renniegrovepeace.org/wp-json/","postnonce":"abbe879734","ajax_method":"ajax","evo_v":"5.0.9"}; var evo_general_params = {"is_admin":"","ajaxurl":"https://renniegrovepeace.org/wp-admin/admin-ajax.php","evo_ajax_url":"/?evo-ajax=%%endpoint%%","ajax_method":"endpoint","rest_url":"https://renniegrovepeace.org/wp-json/eventon/v1/data?evo-ajax=%%endpoint%%","n":"abbe879734","nonce":"173c50b073","evo_v":"5.0.9","text":{"err1":"This field is required","err2":"Invalid email format","err3":"Incorrect Answer","local_time":"Local Time"},"html":{"preload_general":"\u003Cdiv class='evo_loading_bar_holder h100 loading_e swipe' style=''\u003E\u003Cdiv class='nesthold c g'\u003E\u003Cdiv class='evo_loading_bar wid_50% hi_70px' style='width:50%; height:70px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_100% hi_40px' style='width:100%; height:40px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_100% hi_40px' style='width:100%; height:40px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_100% hi_40px' style='width:100%; height:40px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_100% hi_40px' style='width:100%; height:40px; '\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E","preload_events":"\u003Cdiv class='evo_loading_bar_holder h100 loading_e swipe' style=''\u003E\u003Cdiv class='nest nest1 e'\u003E\u003Cdiv class='nesthold r g10'\u003E\u003Cdiv class='nest nest2 e1'\u003E\u003Cdiv class='evo_loading_bar wid_100px hi_95px' style='width:100px; height:95px; '\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv class='nest nest2 e2'\u003E\u003Cdiv class='evo_loading_bar wid_50% hi_55px' style='width:50%; height:55px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_90% hi_30px' style='width:90%; height:30px; '\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv class='nest nest1 e'\u003E\u003Cdiv class='nesthold r g10'\u003E\u003Cdiv class='nest nest2 e1'\u003E\u003Cdiv class='evo_loading_bar wid_100px hi_95px' style='width:100px; height:95px; '\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv class='nest nest2 e2'\u003E\u003Cdiv class='evo_loading_bar wid_50% hi_55px' style='width:50%; height:55px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_90% hi_30px' style='width:90%; height:30px; '\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv class='nest nest1 e'\u003E\u003Cdiv class='nesthold r g10'\u003E\u003Cdiv class='nest nest2 e1'\u003E\u003Cdiv class='evo_loading_bar wid_100px hi_95px' style='width:100px; height:95px; '\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv class='nest nest2 e2'\u003E\u003Cdiv class='evo_loading_bar wid_50% hi_55px' style='width:50%; height:55px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_90% hi_30px' style='width:90%; height:30px; '\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E","preload_event_tiles":"\u003Cdiv class='evo_loading_bar_holder h100 loading_e_tile swipe' style=''\u003E\u003Cdiv class='nest nest1 e'\u003E\u003Cdiv class='nesthold g'\u003E\u003Cdiv class='evo_loading_bar wid_50% hi_55px' style='width:50%; height:55px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_90% hi_30px' style='width:90%; height:30px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_90% hi_30px' style='width:90%; height:30px; '\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv class='nest nest1 e'\u003E\u003Cdiv class='nesthold g'\u003E\u003Cdiv class='evo_loading_bar wid_50% hi_55px' style='width:50%; height:55px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_90% hi_30px' style='width:90%; height:30px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_90% hi_30px' style='width:90%; height:30px; '\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv class='nest nest1 e'\u003E\u003Cdiv class='nesthold g'\u003E\u003Cdiv class='evo_loading_bar wid_50% hi_55px' style='width:50%; height:55px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_90% hi_30px' style='width:90%; height:30px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_90% hi_30px' style='width:90%; height:30px; '\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv class='nest nest1 e'\u003E\u003Cdiv class='nesthold g'\u003E\u003Cdiv class='evo_loading_bar wid_50% hi_55px' style='width:50%; height:55px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_90% hi_30px' style='width:90%; height:30px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_90% hi_30px' style='width:90%; height:30px; '\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv class='nest nest1 e'\u003E\u003Cdiv class='nesthold g'\u003E\u003Cdiv class='evo_loading_bar wid_50% hi_55px' style='width:50%; height:55px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_90% hi_30px' style='width:90%; height:30px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_90% hi_30px' style='width:90%; height:30px; '\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv class='nest nest1 e'\u003E\u003Cdiv class='nesthold g'\u003E\u003Cdiv class='evo_loading_bar wid_50% hi_55px' style='width:50%; height:55px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_90% hi_30px' style='width:90%; height:30px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_90% hi_30px' style='width:90%; height:30px; '\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E","preload_taxlb":"\u003Cdiv class='evo_loading_bar_holder h100 loading_taxlb swipe' style=''\u003E\u003Cdiv class='evo_loading_bar wid_50% hi_95px' style='width:50%; height:95px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_30% hi_30px' style='width:30%; height:30px; margin-bottom:30px;'\u003E\u003C/div\u003E\u003Cdiv class='nesthold r g10'\u003E\u003Cdiv class='nest nest2 e1'\u003E\u003Cdiv class='evo_loading_bar wid_100% hi_150px' style='width:100%; height:150px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_100% hi_150px' style='width:100%; height:150px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_100% hi_95px' style='width:100%; height:95px; '\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv class='nest nest2 e2'\u003E\u003Cdiv class='evo_loading_bar wid_100% hi_95px' style='width:100%; height:95px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_100% hi_95px' style='width:100%; height:95px; '\u003E\u003C/div\u003E\u003Cdiv class='evo_loading_bar wid_100% hi_95px' style='width:100%; height:95px; '\u003E\
Last updated: Jun 5, 2026, 07:52:58 PM
We'll email you when races match your filters. No spam — only what fits your goals.
On your marks
Loading race details…