<!doctype html>
<html class="no-js" lang="en-us" direction="ltr">

<head>
    
    <style>
        .async-hide { opacity: 0 !important}
    </style>

    <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer',"GTM-W8X7NZG");</script>


    

    <script>
    (function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date;
            h.end = i = function () { s.className = s.className.replace(RegExp(' ?' + y), '') };
            (a[n] = a[n] || []).hide = h; setTimeout(function () { i(); h.end = null }, c); h.timeout = c;
        })(window, document.documentElement, 'async-hide', 'dataLayer', 4000,
                { 'GTM-W8X7NZG': true });
    </script>

    <script>
  (function(window) {
    const BROWSER_VERSION_AT_LEAST = {
      'chrome': 65,
      'safari': 12,
      'firefox': 60,
      'opera': 50
    };
    const _rollbarBrowser = getBrowser();
    window._rollbarConfig = {
      accessToken: 'ce442d04f4e44819aa7dde97e3eef92b',
      captureUncaught: true,
      captureUnhandledRejections: true,
      payload: {
        environment: 'prod'
      },
      verbose: ('prod' !== 'prod'),
      checkIgnore: function (isUncaught, args, payload) {
        if (_rollbarBrowser != null) {
          if (_rollbarBrowser.name === 'IE') return true;

          const leastBrowserVer = BROWSER_VERSION_AT_LEAST[_rollbarBrowser.name.toLowerCase()];
          if (leastBrowserVer && _rollbarBrowser.version < leastBrowserVer) return true;
        }
      },
      ignoredMessages: ['Script error.'],
      hostSafeList: ['trainingpeaks.com']
    };

    function getBrowser() {
      let browser = null;
      const userAgent = window.navigator.userAgent;
      if (/(^| )(Opera|OPR)[/| ]\d+/i.test(userAgent)) {
        const found = userAgent.match(/(^| )(Opera|OPR)[/| ](\d+)/i);
        browser = {
          name: 'Opera',
          version: parseInt(found[3])
        }
      } else if (/(^| )SeaMonkey\/\d+/i.test(userAgent)) {
        const found = userAgent.match(/(^| )SeaMonkey\/(\d+)/i);
        browser = {
          name: 'SeaMonkey',
          version: parseInt(found[2])
        }

      } else if (/(^| )Firefox\/\d+/i.test(userAgent)) {
        const found = userAgent.match(/(^| )Firefox\/(\d+)/i);
        browser = {
          name: 'Firefox',
          version: parseInt(found[2])
        }
      } else if (/(^| )Chromium\/\d+/i.test(userAgent)) {
        const found = userAgent.match(/(^| )Chromium\/(\d+)/i);
        browser = {
          name: 'Chromium',
          version: parseInt(found[2])
        }
      } else if (/(^| )Chrome\/\d+/i.test(userAgent)) {
        const found = userAgent.match(/(^| )Chrome\/(\d+)/i);
        browser = {
          name: 'Chrome',
          version: parseInt(found[2])
        }
      } else if (/(^| )Safari\/\d+/i.test(userAgent)) {
        const found = userAgent.match(/(^| )Safari\/(\d+)/i);
        browser = {
          name: 'Safari',
          version: parseInt(found[2])
        }
      } else if (/(^| )MSIE /.test(userAgent) && /(^| )Trident\//.test(userAgent)) {
        const found = userAgent.match(/(^| )MSIE (\d+)/);
        browser = {
          name: 'IE',
          version: found && parseInt(found[2])
        }
      } else if (/(^| )Trident\/7\.0;.*rv:\d+/.test(userAgent)) {
        browser = {
          name: 'IE',
          version: 11
        }
      } else {
        const found = userAgent.match(/(^| )(\w+)\/(\d+)/i);
        browser = found && {
          name: found[2],
          version: parseInt(found[3])
        }
      }

      return browser;
    }
  })(window);
</script>

    <script src="/js/vendor/rollbar.js"></script>
     <script>
  ! function () {
    var analytics = window.analytics = window.analytics || [];
    if (!analytics.initialize) {
      if (analytics.invoked) {
        window.console && console.error && console.error("Segment snippet included twice.");
      } else {
        analytics.invoked = !0;
        analytics.methods = ["trackSubmit", "trackClick", "trackLink", "trackForm", "pageview", "identify", "reset", "group", "track", "ready", "alias", "debug", "page", "once", "off", "on"];
        analytics.factory = function (t) {
          return function () {
            var e = Array.prototype.slice.call(arguments);
            e.unshift(t);
            analytics.push(e);
            return analytics
          }
        };
        for (var t = 0; t < analytics.methods.length; t++) {
          var e = analytics.methods[t];
          analytics[e] = analytics.factory(e)
        }
        analytics.load = function (t, e) {
          var n = document.createElement("script");
          n.type = "text/javascript";
          n.async = !0;
          n.src = ("https:" === document.location.protocol ? "https://" : "http://") + "cdn.segment.com/analytics.js/v1/" + t + "/analytics.min.js";
          var o = document.getElementsByTagName("script")[0];
          o.parentNode.insertBefore(n, o);
          analytics._loadOptions = e
        };
        analytics.SNIPPET_VERSION = "4.1.0";
        analytics.load("eWSxeD3ITOpF0xvFEIcWrFJSUFyZEltI");
        analytics.page();
      }
    }

    const postToServer = (url, data, resolve, reject) => {
      fetch(url, {
        method: 'post',
        body: JSON.stringify(data),
        headers: { 'Content-type': 'application/json' },
      }).then((response) => {
        if (!response.ok) {
          throw Error(response.statusText);
        }
        resolve();
      }).catch(() => reject());
    };

    window.proxyAnalytics = {
      identify: ({ anonymousId, traits }) => {
        return new Promise((resolve, reject) => {
          const evt = {
            personId: anonymousId, traits
          };

          postToServer(`${environmentVariables.marketingApi}/insights/identify`, evt, resolve, reject);
        })
      },
      track: ({ anonymousId, eventName, properties, integrations }) => {
        return new Promise((resolve, reject) => {
          const evt = {
            personId: anonymousId,
            name: eventName,
            properties,
            integrations,
          };

          postToServer(`${environmentVariables.marketingApi}/insights/insight`, evt, resolve, reject);
        });
      }
    };
  }();
</script>

    <script src="/js/vendor/modernizr-custom.js"></script>
    <script src="https://assets.trainingpeaks.com/js/common-2.js"></script>
    <script src=/js/head-4305a681f5.js></script>
    <script>
      window.environmentVariables = { marketingApi: "https://marketingapi.trainingpeaks.com", trainingPlanStoreURL: "https://www.trainingpeaks.com/training-plans" }
    </script>


    
    
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
<title>404 Page not found</title>

 
<meta name="description" content="Achieve your goals with training plans, coaches, and a powerful fitness app for triathlon, cycling and running. Sign up free."> 

<meta name="application-name" content="TrainingPeaks">
<meta name="theme-color" content="#005695">
<link rel="manifest" href="/site.webmanifest.json">
<link rel="apple-touch-icon" href="/images/touch/apple-touch-icon.png">

<link rel='stylesheet' href='https://tp-front-end.trainingpeaks.com/pattern-library/v4.15/css/pattern-library-common.css' />
<link rel="stylesheet" href=/css/styles-050ab3f3e3.css>

<link rel="canonical" href="https://www.trainingpeaks.com" />

<meta property="og:site_name" content="TrainingPeaks" />
<meta property="og:title" content="404 Page not found" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.trainingpeaks.com" />
<meta property="og:image" content="https://www.trainingpeaks.com/images/open-graph/tp-hero2021-opengraph-2.jpg" />
 
    
    
</head>



<body class="page--404 has-hero-banner " data-whatinput="touch">
    
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W8X7NZG"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>



    

        <tp-scheduled-component
            display-after="2022-04-06T08:00:00"
            display-until="2022-04-09T20:00:00"
            timezone="MT" >

        
        </tp-scheduled-component>

        
            
        
            
        
    

    

        <style>

  @media (min-width: 0px) { :root { --header-size: 5.5rem; } }

  @media (min-width: 768px) { :root { --header-size: 8.5rem; } }

  #navigation-wrapper { min-height: var(--header-size); }

  main { margin-top: calc(-1 * var(--header-size)) !important; }

  body:not(.has-hero-banner) main{
    padding-top: calc(0.8 * var(--header-size)) !important;
  }
</style>

<div id="navigation-wrapper" class="u-z-10">
  <tp-header authenticated="false" class="light-bg" app-tp-uri="/launch-app">
    <div id="navigation-slot-wrapper" class="u-flex">
      <p class="toggle-navigation u-cursor-pointer u-mr-10 u-type-body-2">
        <tp-icon slot="leading" name="hamburger" class="u-mr-3"></tp-icon>Explore Sport Types
      </p>
    </div>
  </tp-header>
  <tp-sidebar> <tp-nav-menu
    starting-slide="athlete_options.explore_sport_types"
    ></tp-nav-menu> </tp-sidebar>
</div>



    <main>
        
        

<section class="c-hero c-hero--404"></section>

<div class="o-container u-px-4 md:u-px-0 u-mt-12">
    <div class="c-copy--h3 md:c-copy--h2 u-mt-8">Uh Oh! It looks like that page got dropped from the peloton.</div>

    <p class="c-copy--body u-mt-4">
        Based on GPS data, this is the best way home.
    </p>

    <p class="u-mt-10 u-mb-8 md:u-mb-8">
        <a href="/" class="c-btn c-btn--primary">Return to Homepage</a>
    </p>
</div>

    </main>

    <tp-footer></tp-footer>


    <script type="module" src=/js/app-17a12a401b.js></script>
    <script src=/js/unsupportedBrowserWarning-497e0a30ee.js></script>
    <script src=/js/stop-ios-zoom-f417c980c3.js></script>

    <script nomodule="" src="https://tp-front-end.trainingpeaks.com/pattern-library/v4.15/js/stencil/pattern-library/pattern-library.js"></script>
    <script type="module" src="https://tp-front-end.trainingpeaks.com/pattern-library/v4.15/js/stencil/pattern-library/pattern-library.esm.js"></script>

    
    
     
    


</body>

</html>
