1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <!-- Google Tag Manager --> 6
6<script type="354c88a650115c952dcc2c41-text/javascript">
vendor: 478 bytes, lines 6-13
6(function (w, d, s, l, i) { 7 w[l] = w[l] || []; w[l].push({ 8 'gtm.start': 9 new Date().getTime(), event: 'gtm.js' 10 }); var f = d.getElementsByTagName(s)[0], 11 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 12 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); 13 })(window, document, 'script', 'dataLayer', '
13GTM-WX73T63
vendor: 3 bytes, line 13
13');
13</script>
13 14 <!-- End Google Tag Manager --> 15 16 <link rel="canonical" href="https://trainly.co.uk/contact" /> 17 18 <meta charset="UTF-8"> 19 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 20 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 21 22 <meta name="title" content="Contact Us | Trainly"> 23 <meta name="description" content="Tell us about bugs or just ask a question!"> 24 <meta name="keywords" 25 content="trainly, favourite routes, train travel, train, travel, live map, location, tracking, track, train tracking, download"> 26 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 27 28 <meta property="og:title" content="Contact Us | Trainly"> 29 <meta property="og:site_name" content="Trainly"> 30 <meta property="og:url" content="https://trainly.co.uk/contact"> 31 <meta property="og:description" content="Tell us about bugs or just ask a question!"> 32 <meta property="og:type" content=website> 33 <meta property="og:image" content="/assets/img/trainly-logo.png"> 34 35 <meta name="twitter:card" content="summary_large_image"> 36 <meta name="twitter:site" content="@trainly"> 37 <meta name="twitter:creator" content="@trainly"> 38 <meta name="twitter:title" content="Contact Us | Trainly"> 39 <meta name="twitter:description" content="Tell us about bugs or just ask a question!"> 40 <meta name="twitter:image" content="/assets/img/trainly-logo.png"> 41 42 <title>Contact Us | Trainly</title> 43 44 <link rel="stylesheet" href="/assets/css/vars.css"> 45 <link rel="stylesheet" href="/assets/css/contact.css"> 46 47 <!-- Animate CSS CDN --> 48 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css" /> 49</head> 50 51<body> 52 <!-- Google Tag Manager (noscript) -->
vendor: 72 bytes, lines 52-53
52 53 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
53GTM-WX73T63
vendor: 99 bytes, lines 53-55
53" height="0" width="0" 54 style="display:none;visibility:hidden"></iframe></noscript> 55
55<!-- End Google Tag Manager (noscript) --> 56 57 <nav> 58 <div class="logo"> 59 <img src="/assets/img/trainly-logo.svg" alt="Trainly Logo"> 60 <a href="/"> 61 <h2>Trainly</h2> 62 </a> 63 </div> 64 <ul class="navigation hidden-on-mobile"> 65 <li><a href="/about" class="nav-link" title="About Trainly">About</a></li> 66 <li><a href="/blog" class="nav-link">Blog</a></li> 67 <li><a href="/contact" class="nav-link">Contact</a></li> 68 </ul> 69 <div class="hidden-on-desktop" id="menuToggle"> 70 <input type="checkbox" id="menuCheckbox" /> 71 72 <span></span> 73 <span></span> 74 <span></span> 75 76 <ul id="menu"> 77 <li><a href="/about">About</a></li> 78 <li><a href="/blog">Blog</a></li> 79 <li><a href="/contact">Contact</a></li> 80 </ul> 81 </div> 82 </nav> 83 84 <div id="content"> 85 <div class="hero"> 86 <div class="contact-form" id="form"> 87 <h2>Contact Us</h2> 88 <input type="text" name="name" id="name" class="name-input" placeholder="Name" autocomplete="name" 89 required> 90 <input type="email" name="email" id="email" class="email-input" placeholder="Email" autocomplete="email" 91 required> 92 <textarea name="message" id="message" class="message-input" placeholder="What's your message?" 93 required></textarea> 94 <input type="hidden" name="access_key" id="api-key" value="0fa28163-90b9-4f1c-b25a-3fe949081653"> 95 <button type="submit" class="submit-btn" id="submit-btn">Submit</button> 96 </div> 97 <div class="contact-form contact-complete" id="form-complete"> 98 <p>Thank you for your message. We will get back to you as soon as possible!</p> 99 </div> 100 </div> 101 102 <div id="footer"> 103 <p>© 2025 Trainly. All rights reserved.</p> 104 </div> 105 </div> 106 107 <div id="links-footer"> 108 <div class="flinks"> 109 <h3>Quick Links</h3> 110 <ul> 111 <li><a href="/" title="Home of Trainly">Home</a></li> 112 <li><a href="/about" title="About Trainly">About</a></li> 113 <li><a href="/donate">Donate</a></li> 114 <li><a href="/contact">Contact</a></li> 115 <li><a href="/press">Press</a></li> 116 <li><a href="/privacy-policy">Privacy Policy</a></li> 117 </ul> 118 </div> 119 <div class="fcontact"> 120 <p>Woody Willis<br><a href="/cdn-cgi/l/email-protection#e6918989829fa69294878f888a9fc88589c8938d"><span class="__cf_email__" data-cfemail="41362e2e253801353320282f2d386f222e6f342a">[email protected]</span></a></p> 121 122 <div class="store-buttons"> 123 <a href="https://play.google.com/store/apps/details?id=uk.co.trainly.trainly" 124 class="google-play-btn" target="_blank"> 125 <img src="/assets/img/google-play-badge.png" alt="Google Play Link Button" /> 126 </a> 127 <a href="https://apps.apple.com/gb/app/trainly/id6473113210" class="app-store-btn" 128 target="_blank"> 129 <img src="/assets/img/app-store-badge.png" alt="App Store Link Button" /> 130 </a> 131 </div> 132 </div> 133 </div>
vendor: 114 bytes, lines 133-135
133 134 135 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
135<script src="/assets/js/contact.js" type="354c88a650115c952dcc2c41-text/javascript"></script>
135 136
136<script src="/assets/js/common.js" type="354c88a650115c952dcc2c41-text/javascript"></script>
vendor: 143 bytes, lines 136-137
136 137<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="354c88a650115c952dcc2c41-|49" defer></script>
137<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"355d90586ca2456e8042a6e70cb05304","r":1,"spa":2}' crossorigin="anonymous"></script>
137 138</body> 139 140</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.