CINXE.COM
Strava Challenges
<!-- Orion-App Layout --> <!DOCTYPE html> <html class='logged-out responsive feed3p0 old-login strava-orion responsive' dir='ltr' lang='en-US' xmlns='http://www.w3.org/TR/html5' xmlns:fb='http://www.facebook.com/2008/fbml' xmlns:og='http://opengraphprotocol.org/schema/'> <!-- layout orion app --> <head> <head> <meta charset='UTF-8'> <meta content='width = device-width, initial-scale = 1, maximum-scale = 5, user-scalable = yes' name='viewport'> <style nonce='' type='text/css'> .spinner, .spinner .status { position: relative; } .spinner { margin-top: 1em; margin-bottom: 1em; } .spinner .status { top: 2px; margin-left: 0.5em; } .spinner .status:empty { display: none; } .spinner.lg .graphic { border-width: 3px; height: 32px; width: 32px; } .spinner.tiny { height: 10px; width: 10px; } .spinner.centered, .spinner.vcentered { box-sizing: border-box; width: 100%; } .spinner.vcentered { left: 0; margin-top: -12px; position: absolute; right: 0; text-align: center; top: 50%; } .spinner .graphic, .ajax-loading-image { animation: spin 1.2s infinite linear; box-sizing: border-box; border-color: #eee; border-radius: 50%; border-style: solid; border-top-color: #666; border-top-style: solid; border-width: 2px; content: ""; display: inline-block; height: 20px; position: relative; vertical-align: middle; width: 20px; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(359deg); } } </style> <link rel="stylesheet" href="https://d3nn82uaxijpm6.cloudfront.net/assets/strava-app-icons-b1e0b294059427fdb5e1e821d3a4932376a1ec644a557f31da906b42aedd887b.css" media="screen" /> <link rel="stylesheet" href="https://d3nn82uaxijpm6.cloudfront.net/assets/strava-orion-40599de0f3e0df9a824fb08aae1ba0251a26c3766aea664ca5d3a55b72707f10.css" media="screen" /> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-180x180.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='180x180'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-152x152.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='152x152'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-144x144.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='144x144'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-120x120.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='120x120'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-114x114.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='114x114'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-76x76.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='76x76'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-72x72.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='72x72'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-60x60.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='60x60'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-57x57.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='57x57'> <link href='https://d3nn82uaxijpm6.cloudfront.net/favicon-32x32.png?v=dLlWydWlG8' rel='icon' sizes='32x32' type='image/png'> <link href='https://d3nn82uaxijpm6.cloudfront.net/icon-strava-chrome-192.png?v=dLlWydWlG8' rel='icon' sizes='192x192' type='image/png'> <link href='https://d3nn82uaxijpm6.cloudfront.net/favicon-96x96.png?v=dLlWydWlG8' rel='icon' sizes='96x96' type='image/png'> <link href='https://d3nn82uaxijpm6.cloudfront.net/favicon-16x16.png?v=dLlWydWlG8' rel='icon' sizes='16x16' type='image/png'> <link href='/manifest.json?v=dLlWydWlG8' rel='manifest'> <meta content='#FC5200' name='msapplication-TileColor'> <meta content='https://d3nn82uaxijpm6.cloudfront.net/mstile-144x144.png?v=dLlWydWlG8' name='msapplication-TileImage'> <meta content='#F7F7FA' name='theme-color'> <meta content='Strava' name='apple-mobile-web-app-title'> <meta content='Strava' name='application-name'> <meta content='yes' name='apple-mobile-web-app-capable'> <meta content='black' name='apple-mobile-web-app-status-bar-style'> <script type='application/ld+json'> { "@context": "http://schema.org", "@type": "Organization", "name": "Strava", "url": "https://www.strava.com/", "logo": "https://d3nn82uaxijpm6.cloudfront.net/assets/website_v2/svgs/strava-orange-c33577e7257d5ac4a2e972564c5c7556037f3d005c5b5cb2f0e0d06ac7b84c47.svg", "sameAs": [ "https://facebook.com/Strava", "https://twitter.com/strava", "https://instagram.com/strava", "https://youtube.com/stravainc", "https://www.linkedin.com/company/strava-inc./", "https://stories.strava.com", "https://github.com/strava", "https://medium.com/strava-engineering" ] } </script> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="_q5EWG1gEZnGGithXf9CF5POX192Lzfv6zzNmVYv-wzJ_SfuN-kQmXK1iQM7MRj-N-X6BonGBWEobruR9xtaGQ" /> <script> window.StravaSentry = { enabled: false, release: "d29912222a959514e38a897ea60c06b6e0b17973", userId: null, environment: "production", dsn: "https://6ffc1c27d92347b49d7659886aab9deb@o352714.ingest.sentry.io/5816222", debug: "false", sampleRate: 1, pageProperties: null, mobileOS: "Web", isMobile: false } window.StravaDevTools = { enabled: null } </script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/runtime-9e5475e80df501dfcc94.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/7433-cfd207fce7b9354e3310.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/46763-6c8b7f93db2421a5516e.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/10603-0d2522db11b3d61a86c0.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/20459-3bc8c6cf573225ac4291.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/94409-be9b9c0ade04bc9f598f.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/33443-8cd84d88154bfce59d5a.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/8451-faec3b874f3553f0064b.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/21422-df7d0f8596a6879e6272.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/96757-47922202032b4b1aba56.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/55911-aadc1b6fd6ae178044bf.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/6275-9604c4b819be2d376b1c.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/88656-214d3e04776a4c003917.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/46999-633a50c1f8d22894cf38.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/20954-d3986d2e7f452fece609.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/74970-a313a8b3eb53ef225f5f.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/73170-35b164bd6f61c9350007.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/88392-2bdf32056b8049c851b4.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/18010-70f632dc38b2958dfdfc.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/74015-ed23844ec9bfb11da5e6.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/77399-2e7a3831895b8ee755ff.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/97154-8fe1eac97fc34aecad03.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/67871-043b4a54a4b3e2bf15e7.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/strava_with_framework-e85ebf91b6fdf340f239.js"></script> <script> !function() { if (!!window.stravaPublicServiceEnv) { // Object containing no secret key value pairs that are expected to be seen and used in the browser. // This keys are commonly passed to 3rd party libs or tooling. window.stravaPublicServiceEnv({ MUX_ENV_KEY: "bqst82u23r97a7fuo892gfpn2", MUX_DATA_VIEWER_USER_ID: null, VIDEOJS_LOG_LEVEL: "error" }); } }(); </script> <script src="https://d3nn82uaxijpm6.cloudfront.net/assets/strava-head-fe23e12219a4ae9745e10ed4adbcf9831ae3a15ea4b4dc52eeeba18901eb3855.js"></script> <link href='https://www.strava.com/challenges' rel='canonical'> <link href='https://www.strava.com/challenges' hreflang='x-default' rel='alternate'> <link href='https://www.strava.com/challenges' hreflang='en' rel='alternate'> <link href='https://www.strava.com/challenges?hl=en-GB' hreflang='en-gb' rel='alternate'> <link href='https://www.strava.com/challenges?hl=fr-FR' hreflang='fr' rel='alternate'> <link href='https://www.strava.com/challenges?hl=de-DE' hreflang='de' rel='alternate'> <link href='https://www.strava.com/challenges?hl=pt-BR' hreflang='pt-br' rel='alternate'> <link href='https://www.strava.com/challenges?hl=es-ES' hreflang='es-es' rel='alternate'> <link href='https://www.strava.com/challenges?hl=it-IT' hreflang='it' rel='alternate'> <link href='https://www.strava.com/challenges?hl=ru-RU' hreflang='ru' rel='alternate'> <link href='https://www.strava.com/challenges?hl=es-419' hreflang='es-419' rel='alternate'> <link href='https://www.strava.com/challenges?hl=ja-JP' hreflang='ja' rel='alternate'> <link href='https://www.strava.com/challenges?hl=nl-NL' hreflang='nl' rel='alternate'> <link href='https://www.strava.com/challenges?hl=zh-TW' hreflang='zh-tw' rel='alternate'> <link href='https://www.strava.com/challenges?hl=pt-PT' hreflang='pt-pt' rel='alternate'> <link href='https://www.strava.com/challenges?hl=zh-CN' hreflang='zh-cn' rel='alternate'> <link href='https://www.strava.com/challenges?hl=id-ID' hreflang='id-id' rel='alternate'> <link href='https://www.strava.com/challenges?hl=pt-PT' hreflang='pt' rel='alternate'> <link href='https://www.strava.com/challenges?hl=es-ES' hreflang='es' rel='alternate'> <link href='https://www.strava.com/challenges?hl=zh-CN' hreflang='zh' rel='alternate'> <title>Strava Challenges</title> <link rel="stylesheet" href="//d3nn82uaxijpm6.cloudfront.net/packs/css/21422-6c428956.css" media="screen" /> <link rel="stylesheet" href="//d3nn82uaxijpm6.cloudfront.net/packs/css/74970-1cce5343.css" media="screen" /> <link rel="stylesheet" href="//d3nn82uaxijpm6.cloudfront.net/packs/css/strava_with_framework-3475fc4a.css" media="screen" /> <script> function loadGTM() { (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push( {'gtm.start': new Date().getTime(),event:'gtm.js'} );var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','googleTagManagerDataLayer', "GTM-TP845S"); } </script> <script> window.__LOAD_NON_ESSENTIAL_COOKIES__ = Array.isArray(window.__LOAD_NON_ESSENTIAL_COOKIES__) ? window.__LOAD_NON_ESSENTIAL_COOKIES__ : []; window.__LOAD_NON_ESSENTIAL_COOKIES__.push(loadGTM); </script> </head> <script> !function(options){ window.Strava = window.Strava || {}; var _enabled = true; var _options = options; var _snowplowReady = null; window.Strava.ExternalAnalytics = window.Strava.ExternalAnalytics || ( { isEnabled: function() { return _enabled; }, isDebug: function() { return _options.debug; }, track: function() { }, trackV2: function(event) { var eventData = { 'category': event.category, 'page': event.page, 'action': event.action, 'element': event.element || null, 'properties': event.properties || {} } if (this.isEnabled()) { var a = snowplow('getUserId'); this.log("trackV2", {athleteId: a}); snowplow('trackSelfDescribingEvent', { schema: 'iglu:com.strava/track/jsonschema/1-0-0', data: eventData }); } else { if(this.isDebug()){ // toggle defined in - https://github.com/strava/active/blob/main/lib/strava/external_analytics.rb // to turn on - Strava::ExternalAnalytics.turn_on_debug // to turn off - Strava::ExternalAnalytics.turn_off_debug !!console.table && console.table(eventData); } } }, trackLink: function() { }, trackForm: function() { }, identifyV2: function () { }, getExperimentContext: function(pageProperties) { var experiment = ( pageProperties || {} ).experiment_info || {}; if (experiment.experiment_cohort && experiment.experiment_name) { this.log('found experiment with values', experiment); return { schema: 'iglu:com.strava/web_experiment/jsonschema/1-0-0', data: { experiment_name: experiment.experiment_name, cohort: experiment.experiment_cohort, forced: experiment.experiment_forced === true } }; } else { return null; } }, page: function(pageProperties) { if(this.isEnabled()) { snowplow('trackPageView'); } }, identify: function(athleteId, options, eventName) { if (this.isEnabled()) { this.log("identify user", {athleteId: athleteId}); var properties = options || {} properties.athlete_id = athleteId; var eventData = { 'category': 'identify', 'page': null, 'action': eventName, 'element': null, 'properties': properties }; snowplow('trackSelfDescribingEvent', { schema: 'iglu:com.strava/track/jsonschema/1-0-0', data: eventData }); } }, reset: function() { if(this.isEnabled()) { this.log("reseting athlete id",{}); snowplow('setUserId', null) var spCookie = document.cookie.match('_sp_id\\.[a-f0-9]+') if(spCookie != null) { document.cookie = spCookie[0] + "= ; expires = Thu, 01 Jan 1970 00:00:00 GMT" } } }, setup: function(athleteId, pageProperties) { if(this.isEnabled()) { this.log("setup snowplow", {athleteId: athleteId}); snowplow("newTracker", "cf", "c.strava.com", { appId: "strava-web", platform: "web" }); snowplow('setUserId', athleteId); var experimentContext = this.getExperimentContext(pageProperties); if (experimentContext) { snowplow('addGlobalContexts', [experimentContext]); } snowplow('enableFormTracking'); } }, getDomainUserId: function() { var d = jQuery.Deferred(); if (this.isEnabled()) { if (!_snowplowReady) { _snowplowReady = jQuery.Deferred(); snowplow(function(){ _snowplowReady.resolve(this.cf.getDomainUserId()); }); } _snowplowReady.always(function(getDomainUserId){ d.resolve(getDomainUserId); }); } else { d.reject(null); } return d; }, log: function(message, values) { if(this.isDebug()) { console.log(message, 'background-color: yellow; color: blue; font-size: medium;', values); } }, debug: function(value) { _options.debug = value; } } ) }({ is_mobile: false, os: "", debug: false, athlete_id: null, locale: "en-US" }); </script> <script> !function(){ var analytics = window.analytics = window.analytics || []; if(analytics.invoked) { window.console && console.error && console.error("Segment snippet included twice."); } else { (function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[];p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments)};p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1;n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","https://d3nn82uaxijpm6.cloudfront.net/8f96b1247cf4359f8fec.js","snowplow")); var pageProperties = null; var athleteId = null; Strava.ExternalAnalytics.setup(athleteId, pageProperties); Strava.ExternalAnalytics.page(pageProperties); } }(); </script> <script> !function(debug){ window.Strava = window.Strava || {}; var _enabled = false; var _debug = !!debug; var _branchData = null; window.Strava.BranchIO = window.Strava.BranchIO || ( { isEnabled: function() { return _enabled; }, isDebug: function() { return _debug; }, dataToLocalStorage: function() { if (!_branchData) { _branchData = new Strava.BranchAnalytics.BranchData(); } var d = this.data() var that = this; d.done(function(data) { that.log('storing data %o to local storage', data) _branchData.data(data) }); d.fail(function(message) { that.log('failed to retrieve data from branch'); _branchData.data({}) }); return d; }, createLink: function(options) { var d = jQuery.Deferred(); var data = null; const that = this; var callback = function(e, l) { if (!e) { d.resolve(l); } else { d.reject(e); } } Strava.ExternalAnalytics .getDomainUserId() .always(function(domainUserId){ if (domainUserId) { options.data['domainUserId'] = domainUserId; } if(that.isEnabled()) { branch.link(options, callback); }; }); return d; }, dataFromLocalStorage: function() { if (!_branchData) { _branchData = new Strava.BranchAnalytics.BranchData(); } return _branchData.data(); }, clearLocalStorage: function() { if (!_branchData) { _branchData = new Strava.BranchAnalytics.BranchData(); } _branchData.data({}); }, data: function(checkLocalStorage) { var d = jQuery.Deferred(); var that = this; var c = function(message, meta_data) { var storedData = null; if(message) { d.reject(message); } else { if (checkLocalStorage == true && (meta_data == null || meta_data.data == "" || meta_data.data == null)) { storedData = that.dataFromLocalStorage(); that.clearLocalStorage(); d.resolve(storedData); } else { d.resolve(meta_data); } } }; if(this.isEnabled()) { branch.data(c); this.log('%cdata (branch enabled)'); } else { this.log('%cdata (branch disabled)'); d.resolve({}); } return d; }, identify: function(hashedAthleteId) { var that = this; var callback = function(error, data) { if (error) { console.log(error); } } if(this.isEnabled() && hashedAthleteId) { branch.setIdentity(hashedAthleteId, callback); this.log('identifying athlete %o', hashedAthleteId); } }, logout: function() { var that = this; var callback = function(error) { if (error) { console.log(error); } } branch.logout(callback); }, track: function(eventName, metaData) { var that = this; var callback = function(error, data) { if (error) { console.log(error); } } if(this.isEnabled()) { this.log('tracking event - ', eventName); branch.logEvent(eventName, metaData, callback); } }, log: function(message, values = '') { if(this.isDebug()) { console.log(`[branch] ::: ${message}`, values); } }, debug: function(value) { _debug = value; } } ) }(false); </script> <script> function loadBranch() { // load Branch (function(b,r,a,n,c,h,_,s,d,k){if(!b[n]||!b[n]._q){for(;s<_.length;)c(h,_[s++]);d=r.createElement(a);d.async=1;d.src="https://cdn.branch.io/branch-latest.min.js";k=r.getElementsByTagName(a)[0];k.parentNode.insertBefore(d,k);b[n]=h}})(window,document,"script","branch",function(b,r){b[r]=function(){b._q.push([r,arguments])}},{_q:[],_v:1},"addListener banner closeBanner closeJourney data deepview deepviewCta first init link logout removeListener setBranchViewData setIdentity track trackCommerceEvent logEvent disableTracking getBrowserFingerprintId crossPlatformIds lastAttributedTouchData setAPIResponseCallback qrCode".split(" "), 0); var options = {"metadata":{"external_identity_version":5,"next":false,"external_identity_hash":null}} // clean legacy identities (non-hashed athlete ids) var branchSessionIdentity = JSON.parse(sessionStorage.getItem('branch_session') || '{}').identity; options.metadata.session_identity = branchSessionIdentity; if(branchSessionIdentity && branchSessionIdentity.length !== 64) { Strava.BranchIO.log('clearing legacy branch session identity %o', branchSessionIdentity); sessionStorage.removeItem('branch_session'); options.metadata.session_identity_cleared = true; }else{ options.metadata.session_identity_cleared = false; } // init Branch branch.init("key_live_lmpPsfj2DP8CflI4rmzfiemerte7sgwm", options, (err, data) => { const branchInitialized = new CustomEvent('BranchInitialized', { detail: { err, data } }); window.dispatchEvent(branchInitialized); var identity = data && data['identity']; var hashedAthleteId = ""; if(hashedAthleteId && identity && identity.length !== 64) { Strava.BranchIO.log('purging branch session %o', identity); Strava.BranchIO.track("web_session_reset", {identity: identity}); Strava.BranchIO.logout(); Strava.BranchIO.identify(hashedAthleteId); }else{ if (hashedAthleteId) { Strava.BranchIO.identify(hashedAthleteId); }else{ Strava.BranchIO.log('no athlete to identify'); Strava.BranchIO.logout(); } } }); } </script> <script> window.__LOAD_NON_ESSENTIAL_COOKIES__ = Array.isArray(window.__LOAD_NON_ESSENTIAL_COOKIES__) ? window.__LOAD_NON_ESSENTIAL_COOKIES__ : []; window.__LOAD_NON_ESSENTIAL_COOKIES__.push(loadBranch); Strava.BranchIO.log('branch is disabled on this page'); </script> </head> <body> <header id='global-header'><!-- deploy: d29912222a959514e38a897ea60c06b6e0b17973 --> <!--[if lte IE 8]> <div class='alert alert-warning message warning mb-0 text-center'> <p>It looks like you're using a version of Internet Explorer that Strava no longer supports. Please <a href='http://www.microsoft.com/en-us/download/ie.aspx?q=internet+explorer'>upgrade your web browser</a> — <a href='https://strava.zendesk.com/entries/20420212-Supported-Browsers-on-Strava'>Learn more</a>.</p> </div> <![endif]--> <nav class='nav-bar container collapsable-nav' role='navigation'> <div title="Return to the Strava home page" class="branding"><a class="branding-content" href="/"><span class="sr-only">Strava</span></a></div> <!-- / Nav Menu Button --> <a href="#container-nav" aria-expanded="false" aria-controls="container-nav" data-toggle="collapse" class="btn btn-default btn-mobile-menu" role="button">Menu</a> <div class='nav-container collapse' id='container-nav'> <ul class='user-nav nav-group'> <li class='nav-item'> <a class="nav-link" href="/mobile">Mobile</a> </li> <li class='nav-item'> <a class="nav-link" href="/features">Features</a> </li> <li class='nav-item'> <a class="nav-link" href="/subscribe?cta=premium&element=nav&origin=logged_out_global_nav">Subscription</a> </li> <li class='nav-item'> <a class="nav-link" href="/maps">Maps</a> </li> <li class='nav-item'> <a class="nav-link" href="https://stories.strava.com/?utm_source=website-header">Stories</a> </li> <li class='nav-object-group'> <div class='nav-item logged_out_nav'> <a class='btn btn-primary btn-signup' data-segioevent='{"name":"Signup Flow","method":"web","source":"Global Header"}' href='/register?cta=sign-up&element=global-header&plan=free&source=challenges_index'> Sign Up </a> </div> <div class='nav-item logged_out_nav'> <a class='btn btn-default btn-login' data-segioevent='{"name":"Login Flow","method":"web","source":"Global Header"}' href='https://www.strava.com/login?cta=log-in&element=global-header&source=challenges_index'> Log In </a> </div> </li> </ul> </div> </nav> </header> <link rel="preload" href="https://web-assets.strava.com/assets/federated/challenge-gallery/remoteEntry.js?t=2025-03-14T22:03:49+00:00" as="script"> <div class='' data-is-published='' data-react-class='Microfrontend' data-react-props='{"url":"https://web-assets.strava.com/assets/federated/challenge-gallery/remoteEntry.js?t=2025-03-14T22:03:49+00:00","scope":"strava_challenge_gallery","component":"./App","appContext":{"props":{"locale":"en-US","promotedChallenge":{"id":4895,"url":"https://www.strava.com/challenges/March-5K-x-Brooks-2025","name":"March 5K x Brooks Challenge","sponsored":true,"goal":5000.0,"dimension":"avg_pace_min_distance","displayedIcon":"run","shortName":"March 5K x Brooks Challenge","coverImageUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4895/4895-cover.png","coverTitleText":"","logoUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4895/4895-logo.png","logoTitleText":"","followersInChallenge":null,"joined":false,"externalJoinUrl":"","summaryBulletEntries":{"goalDescription":{"title":"Complete a 5 km (3.1 mi) run.","icons":["sports_run_normal_xsmall"]},"rewardDescription":{"title":"Earn a digital finisher's badge for your Trophy Case.","icons":["achievements_trophy_normal_xsmall"]},"duration":{"title":"Mar 1, 2025 to Mar 31, 2025","icons":["navigation_calendar_normal_xsmall"]}}},"gallerySections":{"partner":{"challenges":[{"id":4895,"url":"https://www.strava.com/challenges/March-5K-x-Brooks-2025","name":"March 5K x Brooks Challenge","sponsored":true,"goal":5000.0,"dimension":"avg_pace_min_distance","displayedIcon":"run","shortName":"March 5K x Brooks Challenge","coverImageUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4895/4895-cover.png","coverTitleText":"","logoUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4895/4895-logo.png","logoTitleText":"","followersInChallenge":null,"joined":false,"externalJoinUrl":"","summaryBulletEntries":{"goalDescription":{"title":"Complete a 5 km (3.1 mi) run.","icons":["sports_run_normal_xsmall"]},"duration":{"title":"Mar 1, 2025 to Mar 31, 2025","icons":["blank_xsmall"]}}}],"category":"challenges","page":"challenge_gallery","title":"Partner Challenges"},"run":{"challenges":[{"id":4895,"url":"https://www.strava.com/challenges/March-5K-x-Brooks-2025","name":"March 5K x Brooks Challenge","sponsored":true,"goal":5000.0,"dimension":"avg_pace_min_distance","displayedIcon":"run","shortName":"March 5K x Brooks Challenge","coverImageUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4895/4895-cover.png","coverTitleText":"","logoUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4895/4895-logo.png","logoTitleText":"","followersInChallenge":null,"joined":false,"externalJoinUrl":"","summaryBulletEntries":{"goalDescription":{"title":"Complete a 5 km (3.1 mi) run.","icons":["sports_run_normal_xsmall"]},"duration":{"title":"Mar 1, 2025 to Mar 31, 2025","icons":["blank_xsmall"]}}},{"id":4896,"url":"https://www.strava.com/challenges/March-10K-2025","name":"March 10K Challenge","sponsored":false,"goal":10000.0,"dimension":"avg_pace_min_distance","displayedIcon":"run","shortName":"March 10K Challenge","coverImageUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4896/4896-cover.png","coverTitleText":"","logoUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4896/4896-logo.png","logoTitleText":"","followersInChallenge":null,"joined":false,"externalJoinUrl":"","summaryBulletEntries":{"goalDescription":{"title":"Complete a 10 km (6.2 mi) run.","icons":["sports_run_normal_xsmall"]},"duration":{"title":"Mar 1, 2025 to Mar 31, 2025","icons":["blank_xsmall"]}}},{"id":4897,"url":"https://www.strava.com/challenges/March-Half-Marathon-2025","name":"March Half Marathon Challenge","sponsored":false,"goal":21001.9392,"dimension":"avg_pace_min_distance","displayedIcon":"run","shortName":"March Half Marathon Challenge","coverImageUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4897/4897-cover.png","coverTitleText":"","logoUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4897/4897-logo.png","logoTitleText":"","followersInChallenge":null,"joined":false,"externalJoinUrl":"","summaryBulletEntries":{"goalDescription":{"title":"Complete a 13.1 mi (21.1 km) run.","icons":["sports_run_normal_xsmall"]},"duration":{"title":"Mar 1, 2025 to Mar 31, 2025","icons":["blank_xsmall"]}}},{"id":4898,"url":"https://www.strava.com/challenges/March-Run-100K-2025","name":"March Run 100K Challenge","sponsored":false,"goal":100000.0,"dimension":"distance","displayedIcon":"run","shortName":"March Run 100K Challenge","coverImageUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4898/4898-cover.png","coverTitleText":"","logoUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4898/4898-logo.png","logoTitleText":"","followersInChallenge":null,"joined":false,"externalJoinUrl":"","summaryBulletEntries":{"goalDescription":{"title":"Run a total of 100 km (62.1 mi) in a month.","icons":["sports_run_normal_xsmall"]},"duration":{"title":"Mar 1, 2025 to Mar 31, 2025","icons":["blank_xsmall"]}}},{"id":4899,"url":"https://www.strava.com/challenges/March-Run-300K-2025","name":"March Run 300K Challenge","sponsored":false,"goal":300000.0,"dimension":"distance","displayedIcon":"run","shortName":"March Run 300K Challenge","coverImageUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4899/4899-cover.png","coverTitleText":"","logoUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4899/4899-logo.png","logoTitleText":"","followersInChallenge":null,"joined":false,"externalJoinUrl":"","summaryBulletEntries":{"goalDescription":{"title":"Run a total of 300 km (186.4 mi) in a month.","icons":["sports_run_normal_xsmall"]},"duration":{"title":"Mar 1, 2025 to Mar 31, 2025","icons":["blank_xsmall"]}}},{"id":4900,"url":"https://www.strava.com/challenges/March-Elevation-2025","name":"March Elevation Challenge","sponsored":false,"goal":2000.0,"dimension":"elevation_gain","displayedIcon":"run","shortName":"March Elevation Challenge","coverImageUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4900/4900-cover.png","coverTitleText":"","logoUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4900/4900-logo.png","logoTitleText":"","followersInChallenge":null,"joined":false,"externalJoinUrl":"","summaryBulletEntries":{"goalDescription":{"title":"Climb a total of 2,000 m (6,561.7 ft) in a month.","icons":["sports_run_normal_xsmall"]},"duration":{"title":"Mar 1, 2025 to Mar 31, 2025","icons":["blank_xsmall"]}}}],"category":"challenges","page":"challenge_gallery","title":"Run Challenges","icon_object":"sports_run_normal"},"ride":{"challenges":[{"id":4901,"url":"https://www.strava.com/challenges/March-Gran-Fondo-2025","name":"March Gran Fondo Challenge","sponsored":false,"goal":100000.0,"dimension":"distance","displayedIcon":"bike","shortName":"March Gran Fondo Challenge","coverImageUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4901/4901-cover.png","coverTitleText":"","logoUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4901/4901-logo.png","logoTitleText":"","followersInChallenge":null,"joined":false,"externalJoinUrl":"","summaryBulletEntries":{"goalDescription":{"title":"Complete a 100 km (62.1 mi) ride.","icons":["sports_bike_normal_xsmall"]},"duration":{"title":"Mar 1, 2025 to Mar 31, 2025","icons":["blank_xsmall"]}}},{"id":4902,"url":"https://www.strava.com/challenges/March-Ride-200K-2025","name":"March Ride 200K Challenge","sponsored":false,"goal":200000.0,"dimension":"distance","displayedIcon":"bike","shortName":"March Ride 200K Challenge","coverImageUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4902/4902-cover.png","coverTitleText":"","logoUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4902/4902-logo.png","logoTitleText":"","followersInChallenge":null,"joined":false,"externalJoinUrl":"","summaryBulletEntries":{"goalDescription":{"title":"Bike a total of 200 km (124.3 mi) in a month.","icons":["sports_bike_normal_xsmall"]},"duration":{"title":"Mar 1, 2025 to Mar 31, 2025","icons":["blank_xsmall"]}}},{"id":4903,"url":"https://www.strava.com/challenges/March-Ride-800K-2025","name":"March Ride 800K Challenge","sponsored":false,"goal":800000.0,"dimension":"distance","displayedIcon":"bike","shortName":"March Ride 800K Challenge","coverImageUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4903/4903-cover.png","coverTitleText":"","logoUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4903/4903-logo.png","logoTitleText":"","followersInChallenge":null,"joined":false,"externalJoinUrl":"","summaryBulletEntries":{"goalDescription":{"title":"Bike a total of 800 km (497.1 mi) in a month.","icons":["sports_bike_normal_xsmall"]},"duration":{"title":"Mar 1, 2025 to Mar 31, 2025","icons":["blank_xsmall"]}}},{"id":4904,"url":"https://www.strava.com/challenges/March-Cycling-Elevation-2025","name":"March Cycling Elevation Challenge","sponsored":false,"goal":7000.0,"dimension":"elevation_gain","displayedIcon":"bike","shortName":"March Cycling Elevation Challenge","coverImageUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4904/4904-cover.png","coverTitleText":"","logoUrl":"https://dgalywyr863hv.cloudfront.net/challenges/4904/4904-logo.png","logoTitleText":"","followersInChallenge":null,"joined":false,"externalJoinUrl":"","summaryBulletEntries":{"goalDescription":{"title":"Climb a total of 7,000 m (22,965.9 ft) in a month.","icons":["sports_bike_normal_xsmall"]},"duration":{"title":"Mar 1, 2025 to Mar 31, 2025","icons":["blank_xsmall"]}}}],"category":"challenges","page":"challenge_gallery","title":"Ride Challenges","icon_object":"sports_bike_normal"}},"loggedIn":false,"filters":[{"display_text":"Run","identifier":"sport_run","icon":"sports_run_normal","selected":false},{"display_text":"Ride","identifier":"sport_ride","icon":"sports_bike_normal","selected":false},{"display_text":"Swim","identifier":"sport_swim","icon":"sports_water_normal","selected":false},{"display_text":"Walk","identifier":"sport_walk","icon":"sports_walk_normal","selected":false},{"display_text":"Hike","identifier":"sport_hike","icon":"sports_hike_normal","selected":false},{"display_text":"Workout","identifier":"sport_workout","icon":"sports_other_normal","selected":false},{"display_text":"Distance","identifier":"dimension_distance","selected":false},{"display_text":"Elevation Gain","identifier":"dimension_elevation_gain","selected":false},{"display_text":"Moving Time","identifier":"dimension_moving_time","selected":false}],"currentAthlete":null,"preferredSportsFilters":null}},"experiments":{}}' style=''></div> <footer class='' id='global-footer'> <div class='container-fluid'> <div class='row footer-nav footer-row'> <div class='footer-nav-wrapper'> <div class='footer-nav-menu col-lg-2 col-md-3 col-sm-3 col-xs-6'> <h4 tabindex='0'> Our Community </h4> <ul class='footer-nav-submenu list-unstyled text-left'> <li> <a href='/about' target=''> About </a> </li> <li> <a href='/community-standards' target=''> Strava Community Standards </a> </li> <li> <a href='/careers' target=''> Careers </a> </li> <li> <a href='https://press.strava.com' target=''> Press </a> </li> </ul> </div> <div class='footer-nav-menu col-lg-2 col-md-3 col-sm-3 col-xs-6'> <h4 tabindex='0'> Follow </h4> <ul class='footer-nav-submenu list-unstyled text-left'> <li> <a href='https://stories.strava.com/' target='_blank'> Stories </a> </li> <li> <a href='https://www.facebook.com/Strava/' target='_blank'> Facebook </a> </li> <li> <a href='https://instagram.com/strava' target='_blank'> Instagram </a> </li> <li> <a href='http://twitter.com/strava' target='_blank'> Twitter </a> </li> </ul> </div> <div class='footer-nav-menu col-lg-2 col-md-3 col-sm-3 col-xs-6'> <h4 tabindex='0'> Support </h4> <ul class='footer-nav-submenu list-unstyled text-left'> <li> <a href='https://strava.zendesk.com/entries/61608110-How-to-contact-Strava-Support-Submit-a-ticket' target=''> Contact </a> </li> <li> <a href='https://communityhub.strava.com' target=''> Community Forum </a> </li> <li> <a href='https://support.strava.com/hc/en-us/articles/216917717-About-Strava-Maps' target=''> About Our Maps </a> </li> </ul> </div> <div class='footer-nav-menu col-lg-2 col-md-3 col-sm-3 col-xs-6 visible-lg-block'> <h4> <a href='https://partners.strava.com/business?utm_source=footer&utm_medium=referral' target=''> Business </a> </h4> </div> <div class='footer-nav-menu col-lg-2 col-md-3 col-sm-3 col-xs-6 visible-lg-block'> <h4> <a href='/mobile' target=''> Mobile </a> </h4> </div> <div class='footer-nav-menu col-lg-2 col-md-3 col-sm-3 col-xs-6 visible-lg-block'> <h4> <a href='/subscribe?origin=global_footer' target=''> Subscription </a> </h4> </div> <div class='footer-nav-menu col-lg-2 col-md-3 col-sm-3 col-xs-6 visible-lg-block'> <h4> <a href='/family?origin=global_footer' target=''> Family Plan </a> </h4> </div> <div class='footer-nav-menu col-lg-2 col-md-3 col-sm-3 col-xs-6 visible-lg-block'> <h4> <a href='/student?origin=global_footer' target=''> Student Discount </a> </h4> </div> <div class='footer-nav-menu col-lg-2 col-md-3 col-sm-3 col-xs-6 visible-lg-block'> <h4> <a href='/subscribe?origin=global_footer#discount-plans' target=''> Discount Programs (US Only) </a> </h4> </div> <div class='footer-nav-menu col-lg-2 col-md-3 col-sm-3 col-xs-6 visible-lg-block'> <h4> <a href='/gift?origin=global_footer' target=''> Send a Gift </a> </h4> </div> <div class='footer-nav-menu col-md-3 col-sm-3 col-xs-6 hidden-lg'> <h4 class='more'> <span class="app-icon-wrapper "><span class="app-icon icon-ellipsis icon-xl">More</span></span> </h4> <ul class='footer-nav-submenu list-unstyled text-left'> <li> <a href='/mobile' target=''> Mobile </a> </li> <li> <a href='/premium' target=''> Subscription </a> </li> <li> <a href='https://partners.strava.com/business?utm_source=footer&utm_medium=referral' target=''> Business </a> </li> </ul> </div> </div> </div> <div class='row footer-other'> <div class='col-md-12'> <div class='privacy-terms'> <a href='/legal/privacy'> Privacy Policy </a> | <a href='/legal/terms'> Terms and Conditions </a> </div> <div class='copyright'> <p>漏 2025 Strava</p> </div> </div> </div> </div> </footer> <script id='lightbox-template' type='text/template'> <div class='lightbox-window modal-content'> <div class='close-lightbox'> <button class='btn btn-unstyled btn-close'> <div class='app-icon icon-close icon-xs icon-dark'></div> </button> </div> </div> </script> <script id='popover-template' type='text/template'> <div class='popover'></div> </script> <script> window._asset_host = "https://d3nn82uaxijpm6.cloudfront.net"; window._measurement_preference = "meters"; window._date_preference = "%m/%d/%Y"; window._datepicker_preference_format = "mm/dd/yy"; jQuery(document).ready(function() { Strava.Util.EventLogging.createInstance("https://analytics.strava.com","7215fa60b5f01ecc3967543619f7e3d9", null); }); </script> <script src="https://d3nn82uaxijpm6.cloudfront.net/assets/strava/i18n/locales/en-US-4f6701a8229a32157d73e3689684fa70522edc8fc0e4ff3e2f0f9f75a854c751.js"></script> <script src="https://d3nn82uaxijpm6.cloudfront.net/assets/application-2b199b59bb979a4b0f3a108ac2bd268a4f8e91d819d5bb2762a93374ab8bc233.js"></script> <script src="https://www.strava.com/cookie-banner"></script> <script> jQuery(document).ready(function(){ typeof StravaCookieBanner !== 'undefined' && StravaCookieBanner.render(); }); </script> <div id='fb-root'></div> <script> // set fbInitialized so we know FB is being initialized async (safegaurd against react loading FB twice) if (window.Strava) window.Strava.fbInitialized = true; window.fbAsyncInit = function() { FB.init({ appId: "284597785309", status: true, cookie: true, xfbml: true, version: "v7.0" }); Strava.Facebook.PermissionsManager.getInstance().facebookReady(); jQuery('#fb-root').trigger('facebook:init'); }; (function(d){ var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; if (d.getElementById(id)) {return;} js = d.createElement('script'); js.id = id; js.async = true; js.src = "//connect.facebook.net/en_US/sdk.js"; ref.parentNode.insertBefore(js, ref); }(document)); </script> <script> var currentAthlete = new Strava.Models.CurrentAthlete({"logged_in":false}); HAML.globals = function() { return { currentAthlete: currentAthlete, renderPartial: function(name, context) { if (context == null) { context = this; } return JST[name](context); } } } </script> <script> new Strava.Initializer(); </script> <script> if ('serviceWorker' in navigator) { window.addEventListener('load', function() { navigator.serviceWorker.register("/service_worker.js?v=dLlWydWlG8").then(function(registration) { }, function(err) { console.log('ServiceWorker registration failed: ', err); }); }); } </script> <script> jQuery(document).ready(function() { // Scroll Tracking jQuery(document).one('scroll', function(){ Strava.ExternalAnalytics.trackV2({ category: 'page_scrolled' }); }); }); </script> <script> // Mobile Menu transition handler jQuery('.collapsable-nav #container-nav') .on('show.bs.collapse', function(){ jQuery('#smartbanner-loading-placeholder').slideUp(100); jQuery('html').addClass('mobile-menu-open'); }) .on('hidden.bs.collapse', function(){ jQuery('#smartbanner-loading-placeholder').slideDown(100); jQuery('html').removeClass('mobile-menu-open'); }); </script> <script src="https://d3nn82uaxijpm6.cloudfront.net/assets/bootstrap.min-504d59678f10d79a661b6cecdce5b8c1d5bfd98e860614584c0a40399552d61f.js"></script> </body> </html>