PageSourceSearch

https://weatherfile.com/locations

html weatherfile.com collected 2026-10-02 11:21:49 UTC 166,041 bytes, 2,888 lines download raw bytes

1<!DOCTYPE html>
2<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]-->
3<!--[if (gte IE 9)|!(IE)]><!--><html lang="en"> <!--<![endif]-->
4<head>
5<meta http-equiv="X-UA-Compatible" content="IE=edge">
6
7<!-- Basic Page Needs
8================================================== -->
9<meta charset="utf-8">
10<meta name="Identifier-URL" content="https://weatherfile.com">
11<meta name="Author" content="Richard Paul Russell Ltd.">
12<meta name="Coverage" content="Worldwide">
13<meta name="Distribution" content="Global">
14<meta name="Date-Creation-yyyymmdd" content="20150601">
15<meta name="Date-Revision-yyyymmdd" content="20261002">
16<meta name="description" content="Real time LIVE current wind speed &amp; weather data. From locations across UK, Ireland, South Africa, France &amp; USA">
17<meta name="keywords" content="scale, speed, gale, force, strength, hurricane, storm, the weather, cambridge, forecast, wind, anemometer, map, westray, sanday, eday, live, wind, weather, wind speed, solent, uk, united kingdom, portland, orkney, huntingdon, cornwall, mudeford, quay, hurst castle, hythe, ferry, lymington, north, ronaldsay, aiport, parkstone, yacht, club, cardiff, rhs, luton, southwold, lifeboat, station, liverpool, stornoway, stratford, halo, stronsay, ullapool, westray, yarmouth, kts, mph, london, weather, watchers, 'weather watchers', hampshire, london, dorset, unit, plymouth, sky, sailing, long, range, 3, 5, 7, 10, day, historical, 'weather data', recent, weather, information, live, wind, data, highcliffe, southwold, olympic, solent, south" />
18<meta name="Revisit-After" content="1 Days">
19<meta name="google-site-verification" content="madwe_gO-CyFYPlkp5iZSXzbncx8103jS1iuZIrkyO8" />
20<meta name="msvalidate.01" content="237BBAEB168DA626009BFD7DE9E27A4B" />
21<meta http-equiv="content-language" content="en-gb">
22<meta name="theme-color" content="#00038e"/>
23
24<meta name="twitter:card" content="summary_large_image">
25<meta name="twitter:site" content="@rprweatherfile">
26<meta name="twitter:creator" content="@rprweatherfile">
27<meta name="twitter:description" content="Real time LIVE current wind speed &amp; weather data. From locations across UK, Ireland, South Africa, France &amp; USA" />
28<meta name="twitter:image:src" content="https://www.r-p-r.co.uk/newimages/rprnews.png">
29<meta name="twitter:image:width" content="280">
30<meta name="twitter:image:height" content="150">
31
32<meta property="og:site_name" content="WeatherFile.com" />
33<meta property="og:image" content="https://www.r-p-r.co.uk/newimages/rprnews.png" />
34<meta property="og:type" content="website" />
35<meta property="og:description" content="Real time LIVE current wind speed &amp; weather data. From locations across UK, Ireland, South Africa, France &amp; USA" />
36
37<link rel="icon" type="image/png" href="https://weatherfile.com/favicon.ico">
38
39<link async rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,600,700">
40<!-- link async rel="stylesheet" href="https://weatherfile.com/css/sw.min.css" -->
41<link async rel="stylesheet" href="/css/style.css">
42<link async rel="stylesheet" href="/css/forms.css" media="all"/>
43<link async rel="stylesheet" href="/css/colors/navy.css" id="colors">
44<link async rel="stylesheet" href="/css/jquery-ui.css">
45<link async rel="stylesheet" href="/css/gauge.min.css">
46<link async rel="stylesheet" href="/css/jquery-ui-timepicker-addon.css" media="all"/>
47<link async rel="stylesheet" href="/css/font-awesome.min.css"/>
48<link async rel="stylesheet" href="/owl-carousel/owl.carousel.css">
49<link async rel="stylesheet" href="/owl-carousel/owl.theme.css">
50<link async rel="stylesheet" href="/owl-carousel/owl.transitions.css">
51<link rel="stylesheet" href="/css/cookieconsent.css">
52<link rel="stylesheet" href="/css/consent.css">
53
54<link rel="apple-touch-icon" href="/images/rpr-logo-2020.png">
55
56<!-- Mobile Specific Metas
57================================================== -->
58<meta name="viewport" content="width=device-width, initial-scale=1">
59<script type="text/javascript" src="/js/vendor/jquery-latest.js"></script>
vendor: 1 bytes, line 59
59
60<script type="text/javascript" src="/js/vendor/jquery-migrate-1.2.1.min.js"></script>
vendor: 1 bytes, line 60
60
61<script type="text/javascript" src="/js/vendor/jquery-ui.js"></script>
61
62
63<script async defer type="text/javascript" src="/js/vendor/jquery.AshAlom.gaugeMeter-2.0.0.min.js"></script>
vendor: 1 bytes, line 63
63
64<script type="text/javascript" src="/js/vendor/jquery-ui-timepicker-addon.js"></script>
vendor: 1 bytes, line 64
64
65<script async defer type="text/javascript" src="/js/vendor/gauge.min.js"></script>
vendor: 1 bytes, line 65
65
66<script type="text/javascript" src="/js/vendor/jquery.jpanelmenu.js"></script>
vendor: 1 bytes, line 66
66
67<script type="text/javascript" src="https://maps.google.com/maps/api/js?key=AIzaSyAwjiT8dFbO05MFsLEbbxZ8hvJ67wu6mRI"></script>
vendor: 1 bytes, line 67
67
68<script type="text/javascript" src="/js/vendor/loader.js"></script>
vendor: 1 bytes, line 68
68
69<script type="text/javascript" src="/js/vendor/markerwithlabel.js"></script>
vendor: 1 bytes, line 69
69
70<script type="text/javascript" src="/js/wf/w_charts.js"></script>
vendor: 1 bytes, line 70
70
71<script type="text/javascript">
72    var wunits = "mps";
73    var CHARTS_LOADED = false;
74    var MAP_LOADED = false;
75    var PAGE_LOADED = false;
76    var googleChartsLoaded;
77</script>
77
78    
78<script type="text/javascript">
79window.WF = window.WF || {};
80window.WF.subdom = "weatherfile.com";
81</script>
vendor: 1 bytes, line 81
81
82<script type="text/javascript" src="/js/wf/i18n/storage.js"></script>
vendor: 1 bytes, line 82
82
83<script type="text/javascript" src="/js/wf/i18n/locales/metrics.js"></script>
vendor: 1 bytes, line 83
83
84<script type="text/javascript" src="/js/wf/i18n/locales/en.js"></script>
vendor: 1 bytes, line 84
84
85<script type="text/javascript" src="/js/wf/i18n/locales/fr.js"></script>
vendor: 1 bytes, line 85
85
86<script type="text/javascript" src="/js/wf/i18n/locales/admin.js"></script>
vendor: 1 bytes, line 86
86
87<script type="text/javascript" src="/js/wf/i18n/locales/params.js"></script>
vendor: 1 bytes, line 87
87
88<script type="text/javascript" src="/js/wf/i18n/index.js"></script>
vendor: 1 bytes, line 88
88
89<script type="text/javascript" src="/js/wf/wf_marker.js"></script>
vendor: 1 bytes, line 89
89
90<script type="text/javascript" src="/js/wf/wind_direction.js"></script>
vendor: 1 bytes, line 90
90
91<script type="text/javascript" src="/js/wf/map_markers_dynamic_V2.js"></script>
vendor: 1 bytes, line 91
91
92<script type="text/javascript" src="/js/wf/idxmain.js"></script>
vendor: 1 bytes, line 92
92
93<script type="text/javascript" src="/js/wf/settings.js"></script>
vendor: 1 bytes, line 93
93
94<script type="text/javascript" src="/js/wf/downloads.js"></script>
vendor: 1 bytes, line 94
94
95<script type="text/javascript" src="/js/wf/location.js"></script>
vendor: 1 bytes, line 95
95
96<script type="text/javascript" src="/js/wf/user_admin.js"></script>
vendor: 1 bytes, line 96
96
97<script type="text/javascript" src="/js/wf/admin_list_filter.js"></script>
vendor: 1 bytes, line 97
97
98<script type="text/javascript" src="/js/wf/location_list.js"></script>
vendor: 1 bytes, line 98
98
99<script type="text/javascript" src="/js/wf/location_admin.js"></script>
vendor: 1 bytes, line 99
99
100<script type="text/javascript" src="/js/wf/location_widget.js"></script>
vendor: 1 bytes, line 100
100
101<script type="text/javascript" src="/js/wf/util.js"></script>
vendor: 1 bytes, line 101
101
102<script type="text/javascript" src="/js/wf/notification.js"></script>
vendor: 1 bytes, line 102
102
103<script type="text/javascript" src="/js/vendor/cookieconsent.umd.js"></script>
vendor: 1 bytes, line 103
103
104<script type="text/javascript" src="/js/wf/consent.js"></script>
vendor: 116 bytes, lines 104-106
104
105<script async defer src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit"></script>
106
107<script type="text/javascript" src="/js/vendor/hoverIntent.js"></script>
vendor: 1 bytes, line 107
107
108<script type="text/javascript" src="/js/vendor/superfish.js"></script>
vendor: 1 bytes, line 108
108
109<script type="text/javascript" src="/js/vendor/custom.js"></script>
vendor: 1 bytes, line 109
109
110<script type="text/javascript" src="/owl-carousel/owl.carousel.min.js"></script>
vendor: 1 bytes, line 110
110
111<script type="text/javascript" src="/js/wf/custom.js"></script>
111
112
113
114<script type="text/javascript">
115    setWindUnitFromUrlToLocalStorage()
116    	var ONLOAD_URL = '/locations';
117    $(document).ready(function() {
118        setUpSettings();
119        checkLogin();
120        renderCanvas(ONLOAD_URL);
121    });
122</script>
122
123
124<title>WeatherFile.com | Real Time LIVE Wind Data</title>
125<link rel='canonical' href='https://weatherfile.com' />
126<meta name='twitter:title' content='WeatherFile.com | Real Time LIVE Wind Data' />
127<meta name='twitter:url' content='https://weatherfile.com'>
128<meta property='og:title' content='WeatherFile.com | Real Time LIVE Wind Data' />
129<meta property='og:url' content='https://weatherfile.com'>
130
131<style>
132    a[href^=tel] {
133        text-decoration: inherit;
134        color: inherit;
135    }
136</style>
137
138</head>
139
140<body class="boxed" id="main"> 
141
142        
142<script type="text/javascript">
143        var use_cache_flag = true;
144        var server_base_url = "https:\/\/weatherfile.com";
145        var server_api_url = "https:\/\/weatherfile.com\/api";
146        var server_cache_api_url = "https:\/\/weatherfile.com\/api";
147        var server_api_version = "V03";
148    </script>
148
149
150    <div id="wrapper">
151
152        <style>
153.container {
154  display: flex;
155  align-items: center;
156  justify-content: space-between;
157  gap: 0;
158  flex-wrap: nowrap; 
159}
160
161.img-col {
162  flex: 1 1 0;
163  min-width: 0;
164  box-sizing: border-box;
165  padding: 20px 10px 0 10px;
166}
167
168.img-col.left {
169  text-align: left;
170}
171
172.img-col.right {
173  text-align: right;
174}
175
176.container img {
177  max-width: 240px; 
178  width: 100%;
179  height: auto;
180  display: inline-block;
181}
182
183@media (max-width: 600px) {
184  .container img {
185    max-width: 160px; 
186  }
187  .img-col {
188    padding: 10px 2px 0 2px;
189  }
190}
191
192@media (max-width: 400px) {
193  .container img {
194    max-width: 120px; 
195  }
196}
197</style>
198
199<div class="container">
200  <a href="https://weatherfile.com">
201    <img id="main_logo" src="/images/rprwf9.png" alt="WeatherFile" style="padding:20px 0; max-width:240px; width:100%; height:auto;">
202  </a>
203</div>
204
205        <!-- Navigation
206        ================================================== -->
207        <div class="sixteen columns">
208        <div class="menu-trigger" style="background-color:#009;padding:10px 15px;">
209        <a href="#menu" style="color:white;"><i class="fa fa-bars"></i> <span data-i18n="common.menu">Menu</span></a>
210        </div>
211                
212                
213                    <nav id="navigation">
214                        <ul class="menu" id="responsive">
215                            <li><a href="/" class="homepage wf-nav-link" data-nav-path="/"><span data-i18n="nav.map_view">Map View</span></a></li>
216                            <li><a href="/settings" class="wf-nav-link" data-nav-path="/settings"><i class="fa fa-cog"></i>&nbsp;<span data-i18n="nav.settings">Settings</span></a></li>
217                            <li><a href="/locations" class="wf-nav-link" data-nav-path="/locations"><span data-i18n="nav.locations">Locations</span></a></li>
218                            <li class="demo-button"><a href="https://r-p-r.co.uk/" target="_blank" rel="noopener"><span data-i18n="nav.products">Products</span></a></li>
219                            <li class="demo-button"><a href="https://r-p-r.co.uk/pages/beaufort-scale" target="_blank" rel="noopener"><span data-i18n="nav.beaufort_scale">Beaufort Scale</span></a></li>
220                            <li class="demo-button"><a href="/widget/hub/index.html" target="_blank" rel="noopener" title="Embeddable weather widgets for your site" data-i18n="nav.widgets_title" data-i18n-attr="title" onfocus="this.href=window.location.origin+'/widget/hub/index.html'" onmousedown="this.href=window.location.origin+'/widget/hub/index.html'"><span data-i18n="nav.widgets">Widgets</span></a></li>
221                            <li id="loginout" class="wf-loginout"><a href="/account/login" class="wf-nav-link" data-nav-path="/account/login"><span data-i18n="nav.log_in">Log In</span></a></li>
222
223                        </ul>
224                    </nav>
225
226                            </div>
227        <div class="container">
228            
229        </div>
230
231        <!-- Container -->
232        <div class="container-fluid">
233            <div id="main_canvas">
234
235                <style>
236                    .mapunits {
237                        height: 25px;
238                        width: auto;
239                        min-width: 110px;
240                        background: #FFF;
241                        padding: 1px;
242                        margin-left: 10px !important;
243                        margin-top: 10px !important;
244                        padding-top: 4px !important;
245                        padding-left: 15px !important;
246                        padding-right: 8px !important;
247                        font-size: 11px;
248                        font-family: Arial, sans-serif;
249                        font-display: auto;
250                        border: 1px solid white;
251                        white-space: nowrap;
252                        line-height: 18px;
253                    }
254                    .mapunits label {
255                        display: inline !important;
256                        float: none !important;
257                        margin: 0 !important;
258                        font-size: 11px;
259                        white-space: nowrap;
260                    }
261                    .mapunits select {
262                        display: inline !important;
263                        vertical-align: middle;
264                    }
265                </style>
266                <div style="display:none !important;">
267                    <div class="mapunits" id="mapunits">
268                        <label data-i18n="common.units">Units:
269                            <select id="settings_wunitsmap" onchange="saveWindUnitsmap()" style="font-size:11px; background-color:#fff; color:#000; width:70px; display:inline !important;">
270                                <option value="mps">m/s</option>
271                                <option value="mph">mph</option>
272                                <option value="kts">knots</option>
273                                <option value="kph">kph</option>
274                                <!--<option value="bft">beaufort</option>-->
275                            </select></label>
276                    </div>
277                </div>
278                <!-- Google Maps -->
279                <div id="google_map_container" class="canvas_hideable">
280                    <section class="google-map-container">
281                        <div id="googlemaps" class="google-map google-map-full"></div>
282                    </section>
283                </div>
284                <!-- Google Maps / End -->
285
286
287                <div id="panels_outer">
288
289                    <!-- The Modal -->
290                    <div id="myModal" class="modal">
291
292                        <!-- Modal content -->
293                        <div class="modal-content wf-modal-panel">
294                            <h3 class="wf-modal-header">
295                                <span class="wf-modal-title" data-i18n="dialog.title">WeatherFile</span>
296                                <button type="button" class="wf-modal-close" onclick="popupHide('#myModal');" aria-label="Close" data-i18n="dialog.close" data-i18n-attr="aria-label">
297                                    <img src="/images/icons/click.png" alt="" width="20" height="20" />
298                                </button>
299                            </h3>
300
301                            <div class="wf-modal-body">
302                                <div id="useralerttext" name="useralerttext"></div>
303                            </div>
304                            <div class="wf-modal-actions">
305                                <input type="button" class="button" onclick="popupHide('#myModal');" value="Close" data-i18n="dialog.close" data-i18n-attr="value" />
306                            </div>
307                        </div>
308
309                    </div>
310
311                    <!-- The Modal -->
312                    <div id="myConfirmModal" class="modal">
313
314                        <!-- Modal content -->
315                        <div class="modal-content wf-modal-panel">
316                            <h3 class="wf-modal-header">
317                                <span class="wf-modal-title" data-i18n="dialog.confirm_action">Confirm action</span>
318                                <button type="button" class="wf-modal-close" onclick="popupHide('#myConfirmModal');" aria-label="Close" data-i18n="dialog.close" data-i18n-attr="aria-label">
319                                    <img src="/images/icons/click.png" alt="" width="20" height="20" />
320                                </button>
321                            </h3>
322                            <div class="wf-modal-body">
323                                <div id="user_confirm_text" name="user_confirm_text"></div>
324                            </div>
325
326                            <div class="wf-modal-actions">
327                                <input type="button" class="button" onclick="popupHide('#myConfirmModal');" value="Close" data-i18n="dialog.close" data-i18n-attr="value" />
328                                <input type="button" class="button" onclick="popupHide('#myConfirmModal');" value="Confirm" id="confirm_button" data-i18n="dialog.confirm" data-i18n-attr="value" />
329                            </div>
330                        </div>
331
332                    </div>
333
334                    <!-- REGISTRATION -->
335                    <div id="register_container" class="canvas_hideable" style="display:none;">
336
337    <form action="" method="post" class="bootstrap-frm">
338        <h3>
339            <table>
340                <tr>
341                    <td id="lc_loc_id" style="width:570px; border-bottom: 1px #ddd solid;" data-i18n="auth.registration">Registration</td>
342                    <td style="border-bottom: 1px #ddd solid;" onclick="renderCanvas('/')"><img alt="Back to Map &raquo;" title="Back to Map &raquo;" src="/images/icons/click.png" data-i18n="common.back_to_map" data-i18n-attr="alt,title"></td>
343                </tr>
344            </table>
345        </h3>
346
347        <p class="bootstrap-frm_1" style="text-align:center !important; color:red !important; font-size:12px; text-shadow:none;" id="registration_error_message"></p>
348
349        <div class="form-row form-row-wide">
350            <span style="font-weight:bold;" data-i18n="auth.user_name">User Name</span>
351        </div>
352        <div class="form-row" style="padding-bottom:10px;">
353            <label>
354                <input id="new_user_name" type="text" name="user_name" placeholder="User name" data-i18n="auth.user_name" data-i18n-attr="placeholder" />
355            </label>
356        </div>
357        <div class="clearfix"></div>
358
359        <div class="form-row form-row-wide">
360            <span style="font-weight:bold;" data-i18n="auth.password">Password</span>
361        </div>
362        <div class="form-row" style="padding-bottom:10px;">
363            <label>
364                <input id="new_user_pwd" class="text" type="user_password" name="pwd" placeholder="Password" data-i18n="auth.password" data-i18n-attr="placeholder" />
365            </label>
366        </div>
367        <div class="clearfix"></div>
368
369        <div class="form-row" style="padding-bottom:10px;">
370            <label>
371                <input type="button" class="button" onclick="doRegister()" value="Register" data-i18n="auth.register" data-i18n-attr="value" />
372                <input type="button" class="button" style="width:96px;color:black;" value="Cancel" data-i18n="common.cancel" data-i18n-attr="value" onclick="returnToPreviousDiv();"/>
373            </label>
374        </div>
375        <div class="clearfix"></div>
376
377        <div class="form-row" style="padding-bottom:10px;">
378            <input type="button" class="button" onclick="doRegister()" value="Register" data-i18n="auth.register" data-i18n-attr="value" />
379        </div>
380        <div class="clearfix"></div>
381
382        <div class="form-row" style="padding-bottom:10px;">
383            <span>&nbsp;</span>
384            <a href='#' data-i18n="auth.reset_password">Reset My Password</a>
385        </div>
386    </form>
387
388</div>
389
390                    <!-- LOGIN -->
391                    <div id="login_container" class="canvas_hideable" style="display:none;">
392    <div class="container">
393
394        <form action="index.php?action=login" method="post" class="bootstrap-frm">
395            <h3>
396                <table>
397                    <tr>
398                        <td id="lc_loc_id" style="width:570px; border-bottom: 1px #ddd solid;" data-i18n="auth.log_in">Log In</td>
399                        <td style="border-bottom: 1px #ddd solid;" onclick="window.history.back();"><img alt="Back to Map &raquo;" title="Back to Map &raquo;" src="/images/icons/click.png" data-i18n="common.back_to_map" data-i18n-attr="alt,title"></td>
400                    </tr>
401                </table>
402            </h3>
403
404            <p class="bootstrap-frm_1" style="text-align:center !important; color:red !important; font-size:12px; text-shadow:none;" id="loginform_error_message"></p>
405
406            <div class="form-row form-row-wide">
407                <span style="font-weight:bold;" data-i18n="auth.user_name">User Name</span>
408            </div>
409            <div class="form-row">
410                <label>
411                    <input id="uid" type="text" name="uid" placeholder="User name" data-i18n="auth.user_name" data-i18n-attr="placeholder" autofocus />
412                </label>
413            </div>
414            <div class="clearfix"></div>
415
416            <div class="form-row form-row-wide">
417                <span style="font-weight:bold;" data-i18n="auth.password">Password</span>
418            </div>
419            <div class="form-row">
420                <label>
421                    <input id="pwd" style="height:20px;" class="text" type="password" name="pwd" placeholder="Password" data-i18n="auth.password" data-i18n-attr="placeholder" />
422                </label>
423            </div>
424            <div class="clearfix"></div>
425
426            <div class="form-row" style="padding-top:8px; padding-bottom:10px;">
427                <input id="btn_login" type="button" class="button" style="min-width:96px;width:auto;padding-left:12px;padding-right:12px;color:black;text-align:center;" onclick="doLogin();" value="Log In" data-i18n="auth.log_in" data-i18n-attr="value" />
428                <input type="button" class="button" style="min-width:96px;width:auto;padding-left:12px;padding-right:12px;color:black;text-align:center;" onclick="cancelLogin();" value="Cancel" data-i18n="common.cancel" data-i18n-attr="value" />
429                <input type="button" class="button" style="min-width:96px;width:auto;padding-left:12px;padding-right:12px;color:black;text-align:center;" onclick="doRegister();" value="Register" data-i18n="auth.register" data-i18n-attr="value" />
430            </div>
431            <div class="clearfix"></div>
432
433            <div class="form-row" style="padding-top:5px; padding-bottom:10px;">
434                <label>
435                    <a href='/password/reset' data-i18n="auth.reset_password">Reset My Password</a>&nbsp;&bull;&nbsp;
436                    <a href='/about' data-i18n="auth.terms">Terms &amp; Conditions of Use</a>&nbsp;&bull;&nbsp;
437                    <a href='/cookies' data-i18n="auth.cookie_policy">Cookie Policy</a>
438                </label>
439            </div>
440
441        </form>
442
443    </div>
444</div>
445
446                    <!-- COOKIES POLICY -->
447                    <div id="cookie_container" class="canvas_hideable" style="display:none;">
448    <div class="container">
449
450        <form action="" method="post" class="bootstrap-frm wf-cookie-page">
451            <h3>
452                <table>
453                    <tr>
454                        <td id="lc_loc_id" style="width:570px; border-bottom: 1px #ddd solid;" data-i18n="cookies.title">Cookie &amp; Storage Policy</td>
455                        <td style="border-bottom: 1px #ddd solid;" onclick="window.history.back();"><img alt="Close &raquo;" title="Close &raquo;" src="/images/icons/click.png" data-i18n="common.close_arrow" data-i18n-attr="alt,title"></td>
456                    </tr>
457                </table>
458            </h3>
459
460            <div class="wf-cookie-policy-content">
461
462                <div class="wf-cookie-hero">
463                    <p class="wf-cookie-lead" data-i18n="cookies.lead" data-i18n-attr="html">
464                        WeatherFile uses cookies and browser storage to run the service, remember your preferences, and (only if you choose) measure how the site is used.
465                    </p>
466                    <button type="button" class="wf-cookie-prefs-btn" onclick="if(window.WFConsent){WFConsent.showPreferences();}" data-i18n="cookies.manage">
467                        Manage cookie preferences
468                    </button>
469                </div>
470
471                <section class="wf-cookie-block wf-cookie-block--necessary">
472                    <h4 class="wf-cookie-block__title" data-i18n="cookies.necessary">Strictly necessary</h4>
473                    <p class="wf-cookie-block__text" data-i18n="cookies.necessary_text" data-i18n-attr="html">
474                        These are required for the site to remember your consent choice and maintain a minimal server session.
475                        They cannot be switched off.
476                    </p>
477                    <table class="wf-cookie-table">
478                        <thead>
479                            <tr>
480                                <th data-i18n="cookies.name">Name</th>
481                                <th data-i18n="cookies.purpose">Purpose</th>
482                                <th data-i18n="cookies.duration">Duration</th>
483                            </tr>
484                        </thead>
485                        <tbody>
486                            <tr>
487                                <td data-i18n="cookies.name" data-i18n-attr="data-label" data-label="Name"><code>cc_cookie</code></td>
488                                <td data-i18n="cookies.purpose" data-i18n-attr="data-label" data-label="Purpose"><span data-i18n="cookies.purpose_cc_cookie">Your cookie consent choices</span></td>
489                                <td data-i18n="cookies.duration" data-i18n-attr="data-label" data-label="Duration"><span data-i18n="cookies.duration_year">~1 year</span></td>
490                            </tr>
491                            <tr>
492                                <td data-i18n="cookies.name" data-i18n-attr="data-label" data-label="Name"><code>PHPSESSID</code></td>
493                                <td data-i18n="cookies.purpose" data-i18n-attr="data-label" data-label="Purpose"><span data-i18n="cookies.purpose_phpsessid">Minimal PHP session while you browse</span></td>
494                                <td data-i18n="cookies.duration" data-i18n-attr="data-label" data-label="Duration"><span data-i18n="cookies.duration_session">Session</span></td>
495                            </tr>
496                        </tbody>
497                    </table>
498                </section>
499
500                <section class="wf-cookie-block wf-cookie-block--functional">
501                    <h4 class="wf-cookie-block__title" data-i18n="cookies.functional">Preferences storage</h4>
502                    <p class="wf-cookie-block__text" data-i18n="cookies.functional_text" data-i18n-attr="html">
503                        When preferences storage is allowed, WeatherFile saves your choices on this device so you do not have to set them again on each visit. This uses local storage (not sent with every page request). If you turn preferences off later, saved units, language, favourites and similar data are removed from this device and defaults apply (for example default language and wind units).
504                    </p>
505                    <p class="wf-cookie-block__label" data-i18n="cookies.examples_label">Examples of what we store locally</p>
506                    <ul class="wf-cookie-list">
507                        <li data-i18n="cookies.example_units">Display units — wind speed, temperature, time zone</li>
508                        <li data-i18n="cookies.example_map">Map position and zoom level</li>
509                        <li data-i18n="cookies.example_charts">Chart options — which graphs to show, time range, data table visibility</li>
510                        <li data-i18n="cookies.example_locations">Recent locations, favourites and custom labels (when you use those features)</li>
511                        <li data-i18n="cookies.example_settings">Other interface choices from Settings</li>
512                    </ul>
513                    <p class="wf-cookie-note" data-i18n="cookies.storage_note" data-i18n-attr="html">
514                        We do not list every storage key here. Keys follow the pattern <code>wf_*</code> and may change as
515                        features are added. The purpose remains the same: remembering your preferences.
516                    </p>
517                </section>
518
519                <section class="wf-cookie-block wf-cookie-block--account">
520                    <h4 class="wf-cookie-block__title" data-i18n="cookies.account">Account storage</h4>
521                    <p class="wf-cookie-block__text" data-i18n="cookies.account_text" data-i18n-attr="html">
522                        When you log in, we store session details locally s
522o you stay signed in. This includes an
523                        authentication token and basic account information (name, access level). Clearing site data or
524                        logging out removes this.
525                    </p>
526                </section>
527
528                <section class="wf-cookie-block wf-cookie-block--analytics">
529                    <h4 class="wf-cookie-block__title" data-i18n="cookies.analytics">Analytics</h4>
530                    <p class="wf-cookie-block__text" data-i18n="cookies.analytics_detail" data-i18n-attr="html">
531                        Analytics is <strong>off by default</strong>. If you enable it, Google may set cookies such as
532                        <code>_ga</code> and <code>_gid</code>. We use:
533                    </p>
534                    <ul class="wf-cookie-list wf-cookie-list--compact">
535                        <li>Google Tag Manager — <code>GTM-NSRCJK</code></li>
536                        <li>Google Analytics — <code>G-GH46FWLQ0H</code></li>
537                        <li>Google Ads — <code>AW-1039243308</code></li>
538                        <li>Legacy Universal Analytics — <code>UA-64419971-1</code></li>
539                    </ul>
540                    <p class="wf-cookie-block__text" data-i18n="cookies.google_privacy_html" data-i18n-attr="html">
541                        See <a href="https://policies.google.com/privacy" target="_blank" rel="noopener">Google's privacy policy</a>
542                        for how they process data.
543                    </p>
544                </section>
545
546                <section class="wf-cookie-block wf-cookie-block--controls">
547                    <h4 class="wf-cookie-block__title" data-i18n="cookies.controls">Your controls</h4>
548                    <p class="wf-cookie-block__text" data-i18n="cookies.controls_text" data-i18n-attr="html">
549                        Use <strong>Manage cookie preferences</strong> above to change preferences and analytics settings.
550                        You can also block or delete cookies in your browser. Blocking strictly necessary cookies may affect
551                        how the site works; turning preferences off removes saved units, language, favourites and similar choices from this device.
552                    </p>
553                    <div class="wf-cookie-browser-links">
554                        <span class="wf-cookie-browser-links__label" data-i18n="cookies.browser_help">Browser help</span>
555                        <a class="wf-cookie-browser-chip" href="https://support.mozilla.org/en-US/kb/clear-cookies-and-site-data-firefox" target="_blank" rel="noopener">Firefox</a>
556                        <a class="wf-cookie-browser-chip" href="https://support.google.com/chrome/answer/95647" target="_blank" rel="noopener">Chrome</a>
557                        <a class="wf-cookie-browser-chip" href="https://support.apple.com/en-gb/guide/safari/sfri11471/mac" target="_blank" rel="noopener">Safari</a>
558                    </div>
559                </section>
560
561                <footer class="wf-cookie-footer">
562                    <p><span data-i18n="cookies.questions">Questions?</span> <a href="mailto:[email protected]">[email protected]</a></p>
563                    <p class="wf-cookie-footer__copy">&copy; 2008-2026 Richard Paul Russell Ltd</p>
564                </footer>
565
566            </div>
567        </form>
568
569    </div>
570</div>
571
572                    <!-- ABOUT WF -->
573                    <div id="about_container" class="canvas_hideable" style="display:none;">
574    <div class="container">
575
576        <form action="" method="post" class="bootstrap-frm">
577            <h3>
578                <table>
579                    <tr>
580                        <td id="lc_loc_id" style="width:570px; border-bottom: 1px #ddd solid;" data-i18n="about.title">WeatherFile Terms & Conditions of Use</td>
581                        <td style="border-bottom: 1px #ddd solid;" onclick="logInOut();"><img alt="Back to Map &raquo;" title="Back to Map &raquo;" src="/images/icons/click.png" data-i18n="common.back_to_map" data-i18n-attr="alt,title"></td>
582                    </tr>
583                </table>
584            </h3>
585
586            <div id="tc_content" style="padding-top:2px;">
587
588                <table style="font-size:11px !important;">
589                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">1. Introduction</span></td></tr>
590                <tr><td style="line-height:14px;">1.1&nbsp;&nbsp;</td><td style="line-height:14px;">These terms and conditions shall govern your use of our website.</td></tr>
591                <tr><td style="line-height:14px;">1.2&nbsp;&nbsp;</td><td style="line-height:14px;">By using our website, you accept these terms and conditions in full.  If you disagree with these terms and conditions or any part of these terms and conditions, you must not use our website.</td></tr>
592                <tr><td style="line-height:14px;">1.3&nbsp;&nbsp;</td><td style="line-height:14px;">If you register with our website, submit any material to our website or use any of our website services, we will ask you to expressly agree to these terms and conditions.</td></tr>
593                <tr><td style="line-height:14px;">1.4&nbsp;&nbsp;</td><td style="line-height:14px;">You must be at least 18 years of age to use our website; by using our website or agreeing to these terms and conditions, you warrant and represent to us that you are at least 18 years of age.</td></tr>
594                <tr><td style="line-height:14px;">1.5&nbsp;&nbsp;</td><td style="line-height:14px;">
594Our website uses cookies; by using our website or agreeing to these terms and conditions, you consent to our use of cookies in accordance with the terms of our privacy and cookies policy.</td></tr>
595                </table>
596
597                <p>
598                <table style="font-size:11px !important;">
599                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">2. Copyright notice</span></td></tr>
600                <tr><td style="line-height:14px;">2.1&nbsp;&nbsp;</td><td style="line-height:14px;">Copyright &copy; 2026 Richard Paul Russell Ltd.</td></tr>
601                <tr><td style="line-height:14px;">2.2&nbsp;&nbsp;</td><td style="line-height:14px;">Subject to the express provisions of these terms and conditions:</td></tr>
602                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(a)    we, together with our licensors, own and control all the copyright and other intellectual property rights in our website and the material on our website; and</td></tr>
603                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(b)    all the copyright and other intellectual property rights in our website and the material on our website are reserved.</td></tr>
604                </table>
605                </p>
606
607				<p>
608                <table style="font-size:11px !important;">
609                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">3. Licence to use website</span></td></tr>
610                <tr><td style="line-height:14px;">3.1&nbsp;&nbsp;</td><td style="line-height:14px;">You may:</td></tr>
611                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(a)    view pages from our website in a web browser;</td></tr>
612                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(b)    download pages from our website for caching in a web browser;</td></tr>
613                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(c)    print pages from our website;</td></tr>
614                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(d)    use our website services by means of a web browser, subject to the other provisions of these terms and conditions.</td></tr>
615                <tr><td style="line-height:14px;">3.2&nbsp;&nbsp;</td><td style="line-height:14px;">You may only use our website for your own personal and business purposes, and you must not use our website for any other purposes.</td></tr>
616                <tr><td style="line-height:14px;">3.3&nbsp;&nbsp;</td><td style="line-height:14px;">Except as expressly permitted by these terms and conditions, you must not edit or otherwise modify any material on our website.</td></tr>
617                <tr><td style="line-height:14px;">3.4&nbsp;&nbsp;</td><td style="line-height:14px;">Unless you own or control the relevant rights in the material, you must not:</td></tr>
618                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(a)    republish material from our website (including republication on another website);</td></tr>
619                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(b)    sell, rent or sub-license material from our website;</td></tr>
620                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(c)    show any material from our website in public;</td></tr>
621                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(d)    exploit material from our website for a commercial purpose; or</td></tr>
622                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(e)    redistribute material from our website.</td></tr>
623                <tr><td style="line-height:14px;">3.5&nbsp;&nbsp;</td><td style="line-height:14px;">We reserve the right to restrict access to areas of our website, or indeed our whole website, at our discretion; you must not circumvent or bypass, or attempt to circumvent or bypass, any access restriction measures on our website.</td></tr>
624                </table>
625                </p>
626
627				<p>
628                <table style="font-size:11px !important;">
629                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">4. Acceptable use</span></td></tr>
630                <tr><td style="line-height:14px;">4.1&nbsp;&nbsp;</td><td style="line-height:14px;">You must not:</td></tr>
631                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(a)    use our website in any way or take any action that causes, or may cause, damage to the website or impairment of the performance, availability or accessibility of the website;</td></tr>
632                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(b)    use our website in any way that is unlawful, illegal, fraudulent or harmful, or in connection with any unlawful, illegal, fraudulent or harmful purpose or activity;</td></tr>
633                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(c)    use our website to copy, store, host, transmit, send, use, publish or distribute any material which consists of (or is linked to) any spyware, computer virus, Trojan horse, worm, keystroke logger, rootkit or other malicious computer softw
633are;</td></tr>
634                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(d)    conduct any systematic or automated data collection activities (including without limitation scraping, data mining, data extraction and data harvesting) on or in relation to our website without our express written consent;</td></tr>
635                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(e)    access or otherwise interact with our website using any robot, spider or other automated means, except for the purpose of search engine indexing;</td></tr>
636                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(f)    violate the directives set out in the robots.txt file for our website; or</td></tr>
637                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(g)    use data collected from our website for any direct marketing activity (including without limitation email marketing, SMS marketing, telemarketing and direct mailing).</td></tr>
638                <tr><td style="line-height:14px;">4.2&nbsp;&nbsp;</td><td style="line-height:14px;">You must not use data collected from our website to contact individuals, companies or other persons or entities.</td></tr>
639                <tr><td style="line-height:14px;">4.3&nbsp;&nbsp;</td><td style="line-height:14px;">You must ensure that all the information you supply to us through our website, or in relation to our website, is true, accurate, current, complete and non-misleading.</td></tr>
640                </table>
641                </p>
642
643				<p>
644                <table style="font-size:11px !important;">
645                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">5. Digital products</span></td></tr>
646                <tr><td style="line-height:14px;">5.1&nbsp;&nbsp;</td><td style="line-height:14px;">It is possible that prices on the website may be incorrectly quoted; accordingly, we will verify prices as part of our sale procedures so that the correct price will be notified to you before the contract comes into force.</td></tr>
647                <tr><td style="line-height:14px;">5.2&nbsp;&nbsp;</td><td style="line-height:14px;">Save to the extent expressly provided otherwise, these terms and conditions shall not govern the sale, purchase or licensing of our digital products, or any other matters relating to our digital products. The sale and purchase of digital products through our website, and the licensing of those digital products, will be subject to our digital product licence, and we will ask you to agree to the terms of that document each time you make a purchase on our website.</td></tr>
648                <tr><td style="line-height:14px;">5.3&nbsp;&nbsp;</td><td style="line-height:14px;">Any digital product reviews that you submit for publication on our website shall be subject to the terms of Section 9 and Section 10.</td></tr>
649                </table>
650                </p>
651                
652                <p>
653                <table style="font-size:11px !important;">
654                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">6. Registration and accounts</span></td></tr>
655                <tr><td style="line-height:14px;">6.1&nbsp;&nbsp;</td><td style="line-height:14px;">You may register for an account with our website.</td></tr>
656                <tr><td style="line-height:14px;">6.2&nbsp;&nbsp;</td><td style="line-height:14px;">You must not allow any other person to use your account to access the website.</td></tr>
657                <tr><td style="line-height:14px;">6.3&nbsp;&nbsp;</td><td style="line-height:14px;">You must notify us in writing immediately if you become aware of any unauthorised use of your account.</td></tr>
658                <tr><td style="line-height:14px;">6.4&nbsp;&nbsp;</td><td style="line-height:14px;">You must not use any other person's account to access the website, unless you have that person's express permission to do so.</td></tr>
659                </table>
660                </p>
661
662				<p>
663                <table style="font-size:11px !important;">
664                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">7. User login details</span></td></tr>
665                <tr><td style="line-height:14px;">7.1&nbsp;&nbsp;</td><td style="line-height:14px;">If you register for an account with our website, we will provide you with a user ID and password.</td></tr>
666                <tr><td style="line-height:14px;">7.2&nbsp;&nbsp;</td><td style="line-height:14px;">Your user ID must not be liable to mislead and must comply with the content rules set out in Section 10; you must not use your account or user ID for or in connection with the impersonation of any person.</td></tr>
667                <tr><td style="line-height:14px;">7.3&nbsp;&nbsp;</td><td style="line-height:14px;">You must keep your password confidential.</td></tr>
668                <tr><td style="line-height:14px;">7.4&nbsp;&nbsp;</td><td style="line-height:14px;">You must notify us in writing immediately if you become aware of any disclosure of your password.</td></tr>
669                <tr><td style="line-height:14px;">7.5&nbsp;&nbsp;</td><td style="line-height:14px;">You are responsible for any activity on our website arising out of any failure to keep your password confidential, and may be held liable for any losses arising out of such a failure.</td></tr>
670                </table>
671                </p>
672
673				<p>
674                <table style="font-size:11px !important;">
675                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">8. Cancellation and suspension of account</span></td></tr>
676                <tr><td style="line-height:14px;">8.1&nbsp;&nbsp;</td><td style="line-height:14px;">We may:</td></tr>
677                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(a)    suspend your account;</td></tr>
678                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(b)    cancel your account; and/or</td></tr>
679                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(c)    edit your account details, at any time at our sole discretion without notice or explanation.</td></tr>
680                <!--<tr><td style="line-height:14px;">8.2&nbsp;&nbsp;</td><td style="line-height:14px;">You may cancel your account on our website using your account control panel on the website.</td></tr>-->
681                </table>
682                </p>
683
684				<p>
685                <table style="font-size:11px !important;">
686                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">9. Your content: licence</span></td></tr>
687                <tr><td style="line-height:14px;">9.1&nbsp;&nbsp;</td><td style="line-height:14px;">In these terms and conditions, "your content" means all works and materials (including without limitation text, graphics, images, audio material, video material, audio-visual material, scripts, software and files) that you submit to us or our website for storage or publication on, processing by, or transmission via, our website.</td></tr>
688                <tr><td style="line-height:14px;">9.2&nbsp;&nbsp;</td><td style="line-height:14px;">You grant to us a worldwide, irrevocable, non-exclusive, royalty-free licence to reproduce, store and publish your content on and in relation to this website and any successor website.</td></tr>
689                <tr><td style="line-height:14px;">9.3&nbsp;&nbsp;</td><td style="line-height:14px;">You grant to us the right to sub-license the rights licensed under Section 9.2.</td></tr>
690                <tr><td style="line-height:14px;">9.4&nbsp;&nbsp;</td><td style="line-height:14px;">You grant to us the right to bring an action for infringement of the rights licensed under Section 9.2.</td></tr>
691                <tr><td style="line-height:14px;">9.5&nbsp;&nbsp;</td><td style="line-height:14px;">You hereby waive all your moral rights in your content to the maximum extent permitted by applicable law; and you warrant and represent that all other moral rights in your content have been waived to the maximum extent permitted by applicable law.</td></tr>
692                <tr><td style="line-height:14px;">9.6&nbsp;&nbsp;</td><td style="line-height:14px;">You may edit your content to the extent permitted using the editing functionality made available on our website.</td></tr>
693                <tr><td style="line-height:14px;">9.7&nbsp;&nbsp;</td><td style="line-height:14px;">Without prejudice to our other rights under these terms and conditions, if you breach any provision of these terms and conditions in any way, or if we reasonably suspect that you have breached these terms and conditions in any way, we may delete, unpublish or edit any or all of your content.</td></tr>
694                </table>
695                </p>
696	
697				<p>
698                <table style="font-size:11px !important;">
699                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">10. Your content: rules</span></td></tr>
700                <tr><td style="line-height:14px;">10.1&nbsp;&nbsp;</td><td style="line-height:14px;">You warrant and represent that your content will comply with these terms and conditions.</td></tr>
701                <tr><td style="line-height:14px;">10.2&nbsp;&nbsp;</td><td style="line-height:14px;">Your content must not be illegal or unlawful, must not infringe any person's legal rights, and must not be capable of giving rise to legal action against any person (in each case in any jurisdiction and under any applicable law).</td></tr>
702                <tr><td style="line-height:14px;">10.3&nbsp;&nbsp;</td><td style="line-height:14px;">Your content, and the use of your content by us in accordance with these terms and conditions, must not:</td></tr>
703                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(a)    be libellous or maliciously false;</td></tr>
704                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(b)    be obscene or indecent;</td></tr>
705                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">
705(c)    infringe any copyright, moral right, database right, trade mark right, design right, right in passing off, or other intellectual property right;</td></tr>
706                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(d)    infringe any right of confidence, right of privacy or right under data protection legislation;</td></tr>
707                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(e)    comprise negligent advice or contain any negligent statement;</td></tr>
708                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(f)    comprise an incitement to commit a crime, instructions for the commission of a crime or the promotion of criminal activity;</td></tr>
709                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(g)    be in contempt of any court, or in breach of any court order;</td></tr>
710                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(h)    be in breach of racial or religious hatred or discrimination legislation;</td></tr>
711                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(i)    be blasphemous;</td></tr>
712                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(j)    be in breach of official secrets legislation;</td></tr>
713                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(k)    be in breach of any contractual obligation owed to any person;</td></tr>
714                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(l)    depict violence in an explicit, graphic or gratuitous manner;</td></tr>
715                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(m)    be pornographic, lewd, suggestive or sexually explicit;</td></tr>
716                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(n)    be untrue, false, inaccurate or misleading;</td></tr>
717                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(o)    consist of or contain any instructions, advice or other information which may be acted upon and could, if acted upon, cause illness, injury or death, or any other loss or damage;</td></tr>
718                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(p)    commprise spam;</td></tr>
719                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(q)    be offensive, deceptive, fraudulent, threatening, abusive, harassing, anti-social, menacing, hateful, discriminatory or inflammatory; or</td></tr>
720                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(r)    cause annoyance, inconvenience or needless anxiety to any person.</td></tr>
721                </table>
722                </p>
723
724				<p>
725                <table style="font-size:11px !important;">
726                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">11. Report abuse</td></tr>
727                <tr><td style="line-height:14px;">11.1&nbsp;&nbsp;</td><td style="line-height:14px;">If you learn of any unlawful material or activity on our website, or any material or activity that breaches these terms and conditions, please let us know.</td></tr>
728                <tr><td style="line-height:14px;">11.2&nbsp;&nbsp;</td><td style="line-height:14px;">You can let us know about any such material or activity.</td></tr>
729                </table>
730                </p>
731
732				<p>
733                <table style="font-size:11px !important;">
734                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">12. Limited warranties</span></td></tr>
735                <tr><td style="line-height:14px;">12.1&nbsp;&nbsp;</td><td style="line-height:14px;">We do not warrant or represent:</td></tr>
736                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(a)    the completeness or accuracy of the information published on our website;</td></tr>
737                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(b)    that the material on the website is up to date;
737 or</td></tr>
738                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(c)    that the website or any service on the website will remain available.</td></tr>
739                <tr><td style="line-height:14px;">12.2&nbsp;&nbsp;</td><td style="line-height:14px;">We reserve the right to discontinue or alter any or all of our website services, and to stop publishing our website, at any time in our sole discretion without notice or explanation; and save to the extent expressly provided otherwise in these terms and conditions, you will not be entitled to any compensation or other payment upon the discontinuance or alteration of any website services, or if we stop publishing the website.</td></tr>
740                <tr><td style="line-height:14px;">12.3&nbsp;&nbsp;</td><td style="line-height:14px;">To the maximum extent permitted by applicable law and subject to Section 13.1, we exclude all representations and warranties relating to the subject matter of these terms and conditions, our website and the use of our website.</td></tr>
741                </table>
742                </p>
743
744				<p>
745                <table style="font-size:11px !important;">
746                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">13. Limitations and exclusions of liability</span></td></tr>
747                <tr><td style="line-height:14px;">13.1&nbsp;&nbsp;</td><td style="line-height:14px;">Nothing in these terms and conditions will:</td></tr>
748                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(a)    limit or exclude any liability for death or personal injury resulting from negligence;</td></tr>
749                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(b)    limit or exclude any liability for fraud or fraudulent misrepresentation;</td></tr>
750                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(c)    limit any liabilities in any way that is not permitted under applicable law; or</td></tr>
751                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(d)    exclude any liabilities that may not be excluded under applicable law.</td></tr>
752                <tr><td style="line-height:14px;">13.2&nbsp;&nbsp;</td><td style="line-height:14px;">The limitations and exclusions of liability set out in this Section 13 and elsewhere in these terms and conditions:</td></tr>
753                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(a)    are subject to Section 13.1; and</td></tr>
754                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(b)    govern all liabilities arising under these terms and conditions or relating to the subject matter of these terms and conditions, including liabilities arising in contract, in tort (including negligence) and for breach of statutory duty, except to the extent expressly provided otherwise in these terms and conditions.</td></tr>
755                <tr><td style="line-height:14px;">13.3&nbsp;&nbsp;</td><td style="line-height:14px;">To the extent that our website and the information and services on our website are provided free of charge, we will not be liable for any loss or damage of any nature.</td></tr>
756                <tr><td style="line-height:14px;">13.4&nbsp;&nbsp;</td><td style="line-height:14px;">We will not be liable to you in respect of any losses arising out of any event or events beyond our reasonable control.</td></tr>
757                <tr><td style="line-height:14px;">13.5&nbsp;&nbsp;</td><td style="line-height:14px;">We will not be liable to you in respect of any business losses, including (without limitation) loss of or damage to profits, income, revenue, use, production, anticipated savings, business, contracts, commercial opportunities or goodwill.</td></tr>
758                <tr><td style="line-height:14px;">13.6&nbsp;&nbsp;</td><td style="line-height:14px;">We will not be liable to you in respect of any loss or corruption of any data, database or software.</td></tr>
759                <tr><td style="line-height:14px;">
75913.7&nbsp;&nbsp;</td><td style="line-height:14px;">We will not be liable to you in respect of any special, indirect or consequential loss or damage.</td></tr>
760                <tr><td style="line-height:14px;">13.8&nbsp;&nbsp;</td><td style="line-height:14px;">You accept that we have an interest in limiting the personal liability of our officers and employees and, having regard to that interest, you acknowledge that we are a limited liability entity; you agree that you will not bring any claim personally against our officers or employees in respect of any losses you suffer in connection with the website or these terms and conditions (this will not, of course, limit or exclude the liability of the limited liability entity itself for the acts and omissions of our officers and employees).</td></tr>
761                </table>
762                </p>
763
764				<p>
765                <table style="font-size:11px !important;">
766                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">14. Breaches of these terms and conditions</span></td></tr>
767                <tr><td style="line-height:14px;">14.1&nbsp;&nbsp;</td><td style="line-height:14px;">Without prejudice to our other rights under these terms and conditions, if you breach these terms and conditions in any way, or if we reasonably suspect that you have breached these terms and conditions in any way, we may:</td></tr>
768                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(a)    send you one or more formal warnings;</td></tr>
769                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(b)    temporarily suspend your access to our website;</td></tr>
770                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(c)    permanently prohibit you from accessing our website;</td></tr>
771                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(d)    block computers using your IP address from accessing our website;</td></tr>
772                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(e)    contact any or all of your internet service providers and request that they block your access to our website;</td></tr>
773                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(f)    commence legal action against you, whether for breach of contract or otherwise; and/or</td></tr>
774                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(g)    suspend or delete your account on our website.</td></tr>
775                <tr><td style="line-height:14px;">14.2&nbsp;&nbsp;</td><td style="line-height:14px;">Where we suspend or prohibit or block your access to our website or a part of our website, you must not take any action to circumvent such suspension or prohibition or blocking (including without limitation creating and/or using a different account).</td></tr>
776                </table>
777                </p>
778
779				<p>
780                <table style="font-size:11px !important;">
781                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">15. Third party websites</span></td></tr>
782                <tr><td style="line-height:14px;">15.1&nbsp;&nbsp;</td><td style="line-height:14px;">Our website includes hyperlinks to other websites owned and operated by third parties; such hyperlinks are not recommendations.</td></tr>
783                <tr><td style="line-height:14px;">15.2&nbsp;&nbsp;</td><td style="line-height:14px;">We have no control over third party websites and their contents, and subject to Section 13.1 we accept no responsibility for them or for any loss or damage that may arise from your use of them.</td></tr>
784                </table>
785                </p>
786
787				<p>
788                <table style="font-size:11px !important;">
789                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">16.   Variation</span></td></tr>
790                <tr><td style="line-height:14px;">16.1&nbsp;&nbsp;</td><td style="line-height:14px;">We may revise these terms and conditions from time to time.</td></tr>
791                <tr><td style="line-height:14px;">16.2&nbsp;&nbsp;</td><td style="line-height:14px;">The revised terms and conditions shall apply to the use of our website from the date of publication of the revised terms and conditions on the website, and you hereby waive any right you may otherwise have to be notified of, or to consent to, revisions of these terms and conditions.</td></tr>
792                <tr><td style="line-height:14px;">16.3&nbsp;&nbsp;</td><td style="line-height:14px;">If you have given your express agreement to these terms and conditions, we will ask for your express agreement to any revision of these terms and conditions; and if you do not give your express agreement to the revised terms and conditions within such period as we may specify, we will disable or delete your account on the website, and you must stop using the website.</td></tr>
793                </table>
794                </p>
795
796				<p>
797                <table style="font-size:11px !important;">
798                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">17.   Assignment</span></td></tr>
799                <tr><td style="line-height:14px;">17.1&nbsp;&nbsp;</td><td style="line-height:14px;">You hereby agree that we may assign, transfer, sub-contract or otherwise deal with our rights and/or obligations under these terms and conditions.</td></tr>
800                <tr><td style="line-height:14px;">17.2&nbsp;&nbsp;</td><td style="line-height:14px;">You may not without our prior written consent assign, transfer, sub-contract or otherwise deal with any of your rights and/or obligations under these terms and conditions.</td></tr>
801                </table>
802                </p>
803
804				<p>
805                <table style="font-size:11px !important;">
806                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">18.   Severability</span></td></tr>
807                <tr><td style="line-height:14px;">18.1&nbsp;&nbsp;</td><td style="line-height:14px;">If a provision of these terms and conditions is determined by any court or other competent authority to be unlawful and/or unenforceable, the other provisions will continue in effect.</td></tr>
808                <tr><td style="line-height:14px;">18.1&nbsp;&nbsp;</td><td style="line-height:14px;">If any unlawful and/or unenforceable provision of these terms and conditions would be lawful or enforceable if part of it were deleted, that part will be deemed to be deleted, and the rest of the provision 
808will continue in effect.</td></tr>
809                </table>
810                </p>
811
812				<p>
813                <table style="font-size:11px !important;">
814                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">19.   Third party rights</span></td></tr>
815                <tr><td style="line-height:14px;">19.1&nbsp;&nbsp;</td><td style="line-height:14px;">A contract under these terms and conditions is for our benefit and your benefit, and is not intended to benefit or be enforceable by any third party.</td></tr>
816                <tr><td style="line-height:14px;">19.2&nbsp;&nbsp;</td><td style="line-height:14px;">The exercise of the parties' rights under a contract under these terms and conditions is not subject to the consent of any third party.</td></tr>
817                </table>
818				</p>
819                
820                <p>
821                <table style="font-size:11px !important;">
822                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">20.   Entire agreement</span></td></tr>
823                <tr><td style="line-height:14px;">20.1&nbsp;&nbsp;</td><td style="line-height:14px;">Subject to Section 13.1, these terms and conditions, together with our cookies policy, shall comprise the entire agreement between you and us in relation to your use of our website and shall supersede all previous agreements between you and us in relation to your use of our website.</td></tr>
824                </table>
825                </p>
826
827                <p>
828                <table style="font-size:11px !important;">
829                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">21.   Law and jurisdiction</span></td></tr>
830                <tr><td style="line-height:14px;">21.1&nbsp;&nbsp;</td><td style="line-height:14px;">These terms and conditions shall be governed by and will be in accordance with English law.</td></tr>
831                <tr><td style="line-height:14px;">21.2&nbsp;&nbsp;</td><td style="line-height:14px;">Any disputes relating to these terms and conditions shall be subject to the exclusive jurisdiction of the courts of England.</td></tr>
832                </table>
833                </p>
834
835				<p>
836                <table style="font-size:11px !important;">
837                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">22.   Our details</span></td></tr>
838                <tr><td style="line-height:14px;">22.1&nbsp;&nbsp;</td><td style="line-height:14px;">This website is owned and operated by Richard Paul Russell Ltd.</td></tr>
839                <tr><td style="line-height:14px;">22.2&nbsp;&nbsp;</td><td style="line-height:14px;">We are registered in England and Wales under registration number 2746689, and our registered office is at The Lodge, Unit 1 Barnes Farm Business Park, Barnes Lane, Milford on Sea. SO41 0AP.</td></tr>
840                <tr><td style="line-height:14px;">22.3&nbsp;&nbsp;</td><td style="line-height:14px;">Our principal place of business is at The Lodge, Unit 1 Barnes Farm Business Park, Barnes Lane, Milford on Sea. SO41 0AP.</td></tr>
841                <tr><td style="line-height:14px;">22.4&nbsp;&nbsp;</td><td style="line-height:14px;">You can contact us:</td></tr>
842                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(a)    by post, using the postal address given above;</td></tr>
843                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(b)    using our website contact form;</td></tr>
844                <tr><td style="line-height:14px;">&nbsp;&nbsp;</td><td style="line-height:14px;">(c)    by telephone, on 01590 641223;</td></tr>
845                </table>
846                </p>
847
848                <p>
849                <table style="font-size:11px !important;">
850                <tr><td colspan="2"><span style="text-transform:uppercase; font-weight:bold;">23.   Data Disclaimer</span></td></tr>
851                <tr><td style="line-height:14px;">23.1&nbsp;&nbsp;</td><td style="line-height:14px;">The wind data displayed on this web site is for information purposes only and does not constitute professional or other advice.</td></tr>
852                <tr><td style="line-height:14px;">23.2&nbsp;&nbsp;</td><td style="line-height:14px;">
852The owners of the equipment, sponsors or Richard Paul Russell Ltd assume no responsibility for information contained on the website or for any loss which may arise (directly or indirectly) from reliance on the information.</td></tr>
853                <tr><td style="line-height:14px;">23.3&nbsp;&nbsp;</td><td style="line-height:14px;">The links that exit from this site are provided only as a convenience, and the inclusion of a link does not imply any endorsement of the site linked to by the owners of the equipment, sponsors or Richard Paul Russell Ltd.</td></tr>
854                </table>
855                </p>
856                
857                <p style="padding-top:20px; font-size:11px !important;">
858                <span style="text-transform:uppercase; font-weight:bold;">Customer Feedback</span><br />
859                If you have any feedback on our service, please email [email protected]<br />
860                &copy; 2008-2026 Richard Paul Russell Ltd 
861                </p>
862            
863            </div>
864
865        </form>
866
867    </div>
868</div>
869                    <!-- RESET PASSWORD / CHANGE PASSWORD -->
870                    <!-- RESET PASSWORD -->
871<div id="pwd_reset_container" class="canvas_hideable" style="display:none;">
872    <div class="container">
873
874        <form action="" method="post" class="bootstrap-frm">
875            <h3>
876                <table>
877                    <tr>
878                        <td id="lc_loc_id" style="width:570px; border-bottom: 1px #ddd solid;" data-i18n="auth.reset_password_title">Reset Password</td>
879                        <td style="border-bottom: 1px #ddd solid;" onclick="window.history.back();"><img alt="Back to Map &raquo;" title="Back to Map &raquo;" src="/images/icons/click.png" data-i18n="common.back_to_map" data-i18n-attr="alt,title"></td>
880                    </tr>
881                </table>
882            </h3>
883
884            <p class="bootstrap-frm_1" style="text-align:center !important; color:red !important; font-size:12px; text-shadow:none;" id="resetpwd_error_message"></p>
885
886            <div class="form-row form-row-wide">
887                <span style="font-weight:bold;" data-i18n="auth.user_name">User Name</span>
888            </div>
889            <div class="form-row" style="padding-bottom:10px;">
890                <label>
891                    <input id="reset_pwd_user_name" type="text" name="reset_pwd_user_name" placeholder="Your User Name" data-i18n="auth.your_user_name" data-i18n-attr="placeholder"/>
892                </label>
893            </div>
894            <div class="clearfix"></div> 
895
896            <div class="form-row" style="padding-bottom:10px;">
897                <div style="padding-bottom:10px;">
898                    <div id="resetrecaptcha"></div>
899                </div>
900            </div>
901            <div class="clearfix"></div>
902
903            <div class="form-row">
904                <input type="button" class="button" onclick="doResetPwd();" value="Reset" data-i18n="auth.reset" data-i18n-attr="value" />
905            </div>
906
907        </form>
908
909    </div>
910</div>
911
912
913<div id="pwd_change_container" class="canvas_hideable" style="display:none;">
914        <div class="container">
915
916            <form action="" method="post" class="bootstrap-frm">
917                <h3>
918                    <table>
919                        <tr>
920                            <td id="lc_loc_id" style="width:570px; border-bottom: 1px #ddd solid;" data-i18n="auth.change_password">Change Password</td>
921                            <td style="border-bottom: 1px #ddd solid;" onclick="window.history.back();"><img alt="Back to Settings &raquo;" title="Back to Settings &raquo;" src="/images/icons/click.png" data-i18n="common.back_to_settings" data-i18n-attr="alt,title"></td>
922                        </tr>
923                    </table>
924                </h3>
925
926                <p class="bootstrap-frm_1" style="text-align:center !important; color:red !important; font-size:12px; text-shadow:none;" id="changepwd_error_message"></p>                    
927                <p class="bootstrap-frm_1" style="text-align:center !important; color:green !important; font-size:12px; text-shadow:none;" id="changepwd_message"></p>
928                
929                <div class="form-row form-row-wide">
930                    <span style="font-weight:bold;" data-i18n="auth.user_name">User Name</span>
931                </div>
932                <div class="form-row">
933                    <label>
934                        <input id="change_pwd_user_name" type="text" name="change_pwd_user_name" placeholder="User Name" data-i18n="auth.user_name" data-i18n-attr="placeholder" disabled/>
935                    </label>
936                </div>
937
938                <div class="form-row form-row-wide">
939                    <span style="font-weight:bold;" data-i18n="auth.current_password">Current Password</span>
940                </div>
941                <div class="form-row">
942                    <label>
943                        <input id="c_pwd" style="height:20px;" class="text" type="password" name="cpwd" placeholder="Current Password" data-i18n="auth.current_password" data-i18n-attr="placeholder" />
944                    </label>
945                </div>
946
947                <div class="form-row form-row-wide">
948                    <span style="font-weight:bold;" data-i18n="auth.new_password">New Password</span>
949                </div>
950                <div class="form-row">
951                    <label>
952                        <input id="new_pwd" style="height:20px;" class="text" type="password" name="newpwd" placeholder="New Password" data-i18n="auth.new_password" data-i18n-attr="placeholder" />
953                    </label>
954                </div>
955
956                <div class="form-row form-row-wide">
957                    <span style="font-weight:bold;" data-i18n="auth.confirm_password">Confirm New Password</span>
958                </div>
959                <div class="form-row">
960                    <label>
961                        <input id="new_pwd_conf" style="height:20px;" class="text" type="password" name="newpwdconf" placeholder="Confirm New Password" data-i18n="auth.confirm_password" data-i18n-attr="placeholder" />
962                    </label>
963                </div>
964                <div class="clearfix"></div>
965
966                <div class="form-row" style="padding-top:5px; justify-content:center;">
967                    <input type="button" class="button" style="min-width:96px;width:auto;padding-left:12px;padding-right:12px;color:black;text-align:center;" value="Save" data-i18n="common.save" data-i18n-attr="value" onclick="doChangePwd(onLogin);" />
968                </div>
969
970            </form>
971
972        </div>
973    </div>
974
975</div>
976
977                    <!-- WEATHERFILE SETTINGS ** -->
978                    <div id="settings_container" class="canvas_hideable" style="display:none;"> 
979    <div class="container"> 
980
981        <form id="settings_container_form" action="" method="post" class="bootstrap-frm">
982            <h3> 
983                <table>
984                    <tr>
985                        <td id="lc_loc_id" style="width:570px; border-bottom: 1px #ddd solid;" data-i18n="settings.title">WeatherFile Settings</td>
986                        <td style="border-bottom: 1px #ddd solid;" onclick="window.history.back();"><img alt="Close &raquo;" title="Close &raquo;" src="/images/icons/click.png" data-i18n="common.close_arrow" data-i18n-attr="alt,title"></td>
987                    </tr>
988                </table>
989            </h3>  
990
991            <p class="bootstrap-frm_1" style="text-align:center !important; color:red !important; font-size:12px; text-shadow:none;" id="loginform_error_message"></p>
992            <p class="bootstrap-frm_1" style="text-align:center !important; color:green !important; font-size:12px; text-shadow:none;" id="loginfrm_msg"></p>
993
994            <div id="settings_functional_blocked_notice" class="wf-settings-consent-notice" style="display:none;" role="status">
995                <div class="wf-consent-notice-icon" aria-hidden="true"></div>
996                <div class="wf-settings-consent-notice__body">
997                    <p class="wf-settings-consent-notice__title" data-i18n="consent.settings_blocked_title">Preferences can't be saved</p>
998                    <p class="wf-settings-consent-notice__text" data-i18n="consent.settings_blocked">Your cookie choice has turned off preferences on this device. Language, units and other settings use defaults and cannot be changed until you turn preferences back on in cookie settings.</p>
999                    <div class="wf-settings-consent-notice__actions">
1000                        <button type="button" class="button wf-consent-action-btn wf-settings-consent-notice__btn" onclick="if(window.WFConsent){WFConsent.showPreferences();}" data-i18n="consent.settings_blocked_action">Cookie settings</button>
1001                    </div>
1002                </div>
1003            </div>
1004
1005            <div class="form-row form-row-wide loggedin">
1006                <span style="font-weight:bold;" data-i18n="settings.user_settings">User Settings</span>
1007            </div>
1008            <div class="form-row loggedin" style="padding-bottom:7px;">
1009                <input type="button" class="button" onclick="renderCanvas('/account/edit/password');" value="Change Password" data-i18n="settings.change_password" data-i18n-attr="value" />
1010                <input id="btn_edit_profile" type="button" class="button" onclick="renderCanvas('/account/edit');" value="Edit Account" data-i18n="settings.edit_account" data-i18n-attr="value" />
1011            </div>
1012            <div class="clearfix admin_only"></div>
1013
1014            <div class="form-row form-row-wide  admin_only">
1015                <span style="font-weight:bold;" data-i18n="settings.administration">Administration</span>
1016            </div>
1017            <div class="form-row  admin_only" style="padding-bottom:7px;">
1018                <input id="btn_edit_profile" type="button" class="button" onclick="renderCanvas('/admin/users');" value="Users" data-i18n="settings.users" data-i18n-attr="value" />
1019                <input type="button" class="button" onclick="renderCanvas('/admin/locations');" value="Locations" data-i18n="settings.locations" data-i18n-attr="value" />
1020                <input style="display:none;" id="btn_partners" type="button" class="button" onclick="renderCanvas('/admin/partners');" value="Partners" data-i18n="settings.partners" data-i18n-attr="value" />
1021                <input style="display:none;" id="btn_fw" type="button" class="button" onclick="renderCanvas('/admin/firmware');" value="Firmware" data-i18n="settings.firmware" data-i18n-attr="value" />
1022                <input style="display:none;" id="btn_devices" type="button" class="button" onclick="renderCanvas('/admin/devices');" value="Devices" data-i18n="settings.devices" data-i18n-attr="value" />
1023            </div>
1024            <div class="clearfix"></div>
1025
1026            <div class="form-row form-row-wide">
1027                <span style="font-weight:bold;" data-i18n="common.language">Language</span>
1028            </div>
1029            <div class="form-row" style="padding-bottom:7px;">
1030                <label>
1031                    <select onchange="saveLanguage()" class="gbsel field_admin field_superadmin" style="width:190px;padding-left:4px;color: #444;" id="settings_language" name="settings_language">
1032                        <option value="en" data-i18n="common.english">English</option>
1033                        <option value="fr" data-i18n="common.french">French</option>
1034                    </select>
1035                </label>
1036            </div>
1037            <div class="clearfix"></div>
1038
1039            <div class="form-row form-row-wide">
1040                <span style="font-weight:bold;" data-i18n="settings.time_zone">Time Zone</span>
1041            </div>
1042            <div class="form-row" style="padding-bottom:7px;">
1043                <label>
1044                    <select onchange="saveTimeZone()" class="gbsel field_admin field_superadmin" style="width:190px;padding-left:4px;color: #444;" id="settings_time_zone" name="settings_time_zone">
1045                        <option value="GMT" data-i18n="settings.gmt">GMT</option>
1046                        <option value="LCL" data-i18n="settings.local_time">Local Time</option>
1047                    </select>
1048                </label>
1049                <!--<p id="settings_timezone"></p>-->
1050            </div>
1051            <div class="clearfix"></div>
1052
1053            <div class="form-row form-row-wide">
1054                <span style="font-weight:bold;" data-i18n="settings.wind_speed_units">Wind Speed Units</span>
1055            </div>
1056            <div class="form-row" style="padding-bottom:7px;">
1057                <label>
1058                    <select id="settings_wunits" onchange="saveWindUnits()" class="gbsel field_admin field_superadmin" style="width:190px;padding-left:4px;color: #444;" name="user_level">
1059                        <option value="mph" data-i18n="unit.mph">Miles Per Hour</option>
1060                        <option value="kts" data-i18n="unit.kts">Knots</option>
1061                        <option value="mps" data-i18n="unit.mps">Meters Per Second</option>
1062                        <option value="kph" data-i18n="unit.kph">Kilometers Per Hour</option>
1063                        <!--<option value="bft">Beaufort scale</option>-->
1064                    </select>
1065                </label>
1066                <!--<p id="settings_wunits"></p>-->
1067            </div>
1068
1069            <div class="clearfix"></div>
1070
1071            <div class="form-row form-row-wide">
1072                <span style="font-weight:bold;" data-i18n="settings.temperature_units">Temperature Units</span>
1073            </div>
1074            <div class="form-row" style="padding-bottom:7px;">
1075                <label>
1076                    <select id="settings_tempunits" onchange="saveTempUnits()" class="gbsel field_admin field_superadmin" style="width:190px;padding-left:4px;color: #444;" name="user_level">  
1077                        <option value="celsius" data-i18n="unit.celsius">Celsius</option>    
1078                        <option value="fhr" data-i18n="unit.fahrenheit">Fahrenheit</option>
1079                        <!--<option value="bft">Beaufort scale</option>-->
1080                    </select>
1081                </label>
1082                <!--<p id="settings_wunits"></p>-->
1083            </div>
1084            <div class="clearfix"></div>
1085            <div id="displayPublicContainerTitle" name="displayPublicContainerTitle" class="form-row form-row-wide loggedin">
1086                <span style="font-weight:bold;" data-i18n="settings.public_sites">Public Sites</span>
1087            </div>
1088            <div id="displayPublicContainer" name="displayPublicContainer" class="form-row loggedin" style="padding-bottom:7px;">
1089                <label>
1090                    <input type="checkbox" onchange="saveDisplayPublicSetting()" name="displaypublic" />&nbsp;<span data-i18n="settings.show_public_sites">Show Public Sites</span>
1091                </label>
1092            </div>
1093            <div class="clearfix"></div>
1094
1095            <div class="form-row form-row-wide">
1096                <span style="font-weight:bold;" data-i18n="settings.data_table">Data Table</span>
1097            </div>
1098            <div class="form-row" style="padding-bottom:7px;">
1099                <label>
1100                    <input onchange="saveDisplayDataTableSetting()" type="checkbox" name="datatable" />&nbsp;<span data-i18n="settings.show_data_table">Show Data Table</span>
1101                </label>
1102            </div>
1103
1104            <div class="form-row form-row-wide">
1105                <span style="font-weight:bold;" data-i18n="settings.display_graphs">Display Graphs</span>
1106                <span style="font-size:11px; font-style:italic;" data-i18n="settings.when_data_available">(when data available)</span>
1107            </div>
1108            <div class="form-row" style="padding-bottom:7px; display:flex; flex-wrap:wrap; justify-content:flex-start;">
1109                <label><input type="checkbox" onchange="saveWindSpeedDisplaySetting()" name="windspeed" />&nbsp;<span data-i18n="metric.wind_speed">Wind Speed</span>&nbsp;</label>&nbsp;
1110                <label><input type="checkbox" onchange="saveWindDirectionDisplaySetting()" name="winddirection" />&nbsp;<span data-i18n="metric.wind_direction">Wind Direction</span>&nbsp;</label>&nbsp;
1111                <label><input type="checkbox" onchange="saveTemperatureDisplaySetting()" name="temperature" />&nbsp;<span data-i18n="metric.temperature">Temperature</span>&nbsp;</label>&nbsp;
1112                <label><input type="checkbox" onchange="saveDewpointDisplaySetting()" name="dewpoint" />&nbsp;<span data-i18n="metric.dewpoint">Dewpoint</span>&nbsp;</label>&nbsp;
1113                <label><input type="checkbox" onchange="saveWindchillDisplaySetting()" name="windchill" />&nbsp;<span data-i18n="metric.wind_chill">Wind chill</span>&nbsp;</label>&nbsp;
1114                <label><input type="checkbox" onchange="saveBgtDisplaySetting()" name="bgt" />&nbsp;<span data-i18n="metric.bgt">BGT</span>&nbsp;</label>&nbsp;
1115                <label><input type="checkbox" onchange="savePressureDisplaySetting()" name="pressure" />&nbsp;<span data-i18n="metric.pressure">Pressure</span>&nbsp;</label>&nbsp;
1116                <label><input type="checkbox" onchange="saveHumidityDisplaySetting()" name="humidity" />&nbsp;<span data-i18n="metric.humidity">Humidity</span>&nbsp;</label>&nbsp;
1117                <label><input type="checkbox" onchange="saveRainfallDisplaySetting()" name="rainfall" />&nbsp;<span data-i18n="metric.rainfall">Rainfall</span></label>
1118                <label><input type="checkbox" onchange="saveSolarDisplaySetting()" name="solar" />&nbsp;<span data-i18n="metric.solar">Solar</span></label>
1119            </div>
1120
1121            <div class="form-row form-row-wide">
1122                <span style="font-weight:bold;" data-i18n="settings.custom_graph_scale">Custom Graph Scale</span>
1123                <span style="font-size:11px; font-style:italic;"></span>
1124            </div>
1125            <div style="width: 100%;">
1126                <table style="border: 1px solid; width: 100%;">
1127                    <thead style="border: 1px solid; width: 100%;">
1128                        <tr style="width: 100%;">
1129                            <th style="font-weight:600; border: 1px solid; padding: 4px; width:30%; padding-right: 16px;" data-i18n="settings.graph_type">Graph Type</th>
1130                            <th style="font-weight:600; border: 1px solid; padding: 4px; width:30%;" data-i18n="settings.min">Min</th>
1131                            <th style="font-weight:600; border: 1px solid; padding: 4px; width:30%;" data-i18n="settings.max">Max</th>
1132                        </tr>
1133                    </thead>
1134                    <tbody>
1135                        <tr>
1136                            <td style="border: 1px solid; padding: 4px;">
1137                                <div class="w-full font-semibold text-center" data-i18n="settings.pressure_hpa">
1138                                    Pressure (hPa)
1139                                </div>
1140                            </td>
1141                            <td style="border: 1px solid; padding: 4px;"><input type="number" onchange="saveCustomScale()" style="text-align: center; width:100%;" name="minpressure" />
1142                            </td>
1143                            <td style="border: 1px solid; padding: 4px;"><input type="number" onchange="saveCustomScale()" style="text-align: center; width:100%;" name="maxpressure" />
1144                            </td>
1145                        </tr>
1146                    </tbody>
1147                </table>
1148            </div>
1149        </form>
1150    </div>
1151</div>
1152
1153                    <!-- DATA DOWNLOADS -->
1154                    <div id="downloads_container" class="canvas_hideable" style="position:relative;z-index:9999;display:none;">
1155    <div class="container">
1156
1157        <form id="downloads_container_form" action="" method="post" class="bootstrap-frm">
1158            <h3>
1159                <table>
1160                    <tr>
1161                        <td id="lc_loc_id" style="width:570px; border-bottom: 1px #ddd solid;" data-i18n="downloads.title">Data Downloads</td>
1162                        <td style="border-bottom: 1px #ddd solid;" onclick="window.history.back();"><img alt="Back &raquo;" title="Back &raquo;" src="/images/icons/click.png" data-i18n="common.back_arrow" data-i18n-attr="alt,title"></td>
1163                    </tr>
1164                </table>
1165            </h3>
1166
1167            <p class="bootstrap-frm_1" style="text-align:center !important; color:red !important; font-size:12px; text-shadow:none;" id="dataform_emsg"></p>
1168            
1169            <div class="form-row form-row-wide">
1170                <span style="font-weight:bold;" data-i18n="downloads.location_id">Location ID</span>
1171            </div>
1172            <div class="form-row">
1173                <input id="download_location_id" disabled style="height:20px; width:150px;" type="text" name="download_location_id" placeholder="Location ID" data-i18n="downloads.location_id" data-i18n-attr="placeholder" />
1174                <input id="dl_returnto" type="hidden" name="dl_returnto"/>
1175            </div>
1176            <div class="clearfix"></div>
1177
1178            <div class="form-row form-row-wide">
1179                <span style="font-weight:bold;" data-i18n="downloads.from">From</span>&nbsp;<span style="font-size:11px !important;" data-i18n="downloads.from_hint">(click to choose start date)</span>
1180            </div>
1181            <div class="form-row">
1182                <input type="text" style="width:110px" id="download_startdate"/>
1183            </div>
1184            <div class="clearfix"></div>
1185
1186            <div class="form-row form-row-wide">
1187                <span style="font-weight:bold;" data-i18n="downloads.to">To</span>&nbsp;<span style="font-size:11px !important;" data-i18n="downloads.to_hint">(click to choose end date)</span>
1188            </div>
1189            <div class="form-row">
1190                <input type="text" style="width:110px" id="download_enddate"/>   
1191            </div>
1192            <div class="clear form"></div>
1193
1194            <div class="form-row form-row-wide">
1195                <span style="font-weight:bold;" data-i18n="downloads.quick_links">Quick CSV Download Links</span>
1196            </div>
1197            <div class="form-row">
1198                <input type="button" class="button" style="width:96px;color:black;" value="30 mins" data-i18n="downloads.mins_30" data-i18n-attr="value" onclick="get30mins()"/>
1199                <input type="button" class="button" onclick="get1hour()" value="1 Hour" data-i18n="downloads.hour_1" data-i18n-attr="value" />
1200                <input type="button" class="button" onclick="get3hours()" value="3 Hours" data-i18n="downloads.hours_3" data-i18n-attr="value" />
1201                <input type="button" class="button" onclick="getToday()" value="Today" data-i18n="downloads.today" data-i18n-attr="value" />
1202                <div style="font-size:13px; padding-top:25px;">
1203                	<span style="font-weight:bold; font-size:15px; color:red;" data-i18n="downloads.important_notes">IMPORTANT NOTES:</span><br />
1204                	<span data-i18n="downloads.note_1">1. Choose units and column order in the download options panel after selecting a range</span><br />
1205                	<span data-i18n="downloads.note_2">2. CSV headings and JSON metadata include units; timestamps follow your date/time choice (UTC or local)</span><br />
1206                    <span data-i18n="downloads.note_3">3. Maximum (per download) is 100 days. For larger data sets email [email protected]</span>
1207                </div>
1208            </div>
1209            <div class="clearfix"></div>
1210
1211            <div class="form-row form-row-wide">
1212                <span style="font-weight:bold;"><span id="message"></span></span>
1213            </div>
1214            <div class="form-row" style="padding-top:20px;">
1215                <iframe id="my_iframe" style="display:none;"></iframe>
1216                <input type="button" class="button" style="color:black;" value="Download" data-i18n="downloads.download" data-i18n-attr="value" onclick="downloadbyDates()"/>
1217            </div>
1218            <div class="clear form"></div>
1219
1220        </form>
1221
1222    </div>
1223</div>
1224
1225<!-- Download Options Modal -->
1226<style>
1227#download_options_modal .modal-content {
1228    max-width: 560px;
1229    width: 100%;
1230    margin: 24px auto;
1231    position: relative;
1232    background: #fff;
1233    border-radius: 10px;
1234    box-shadow: 0 8px 28px rgba(4, 23, 63, 0.18);
1235    overflow: hidden;
1236}
1237#download_options_modal .wf-download-modal-header {
1238    display: flex;
1239    align-items: center;
1240    justify-content: space-between;
1241    gap: 12px;
1242    padding: 14px 18px;
1243    border-bottom: 1px solid #e8eaee;
1244    background: #fafbfc;
1245}
1246#download_options_modal .wf-download-modal-title {
1247    margin: 0;
1248    font-size: 16px;
1249    font-weight: 700;
1250    color: #04173f;
1251    line-height: 1.3;
1252}
1253#download_modal_close_btn {
1254    flex: 0 0 auto;
1255    width: 32px;
1256    height: 32px;
1257    padding: 0;
1258    border: 0;
1259    border-radius: 6px;
1260    background: transparent;
1261    color: #666;
1262    font-size: 24px;
1263    line-height: 1;
1264    cursor: pointer;
1265}
1266#download_modal_close_btn:hover {
1267    background: #eef1f6;
1268    color: #04173f;
1269}
1270#download_options_modal .wf-download-modal-body {
1271    padding: 16px 18px 18px;
1272    box-sizing: border-box;
1273}
1274#download_options_modal .wf-download-section {
1275    margin-bottom: 16px;
1276}
1277#download_options_modal .wf-download-section:last-of-type {
1278    margin-bottom: 0;
1279}
1280#download_options_modal .wf-download-section-title {
1281    display: block;
1282    margin: 0 0 8px;
1283    font-size: 13px;
1284    font-weight: 700;
1285    color: #04173f;
1286    letter-spacing: 0.01em;
1287}
1288#download_options_modal .wf-download-section-hint {
1289    display: block;
1290    margin: -2px 0 8px;
1291    font-size: 12px;
1292    line-height: 1.4;
1293    color: #6b7280;
1294}
1295#download_options_modal .wf-download-format-row {
1296    display: flex;
1297    flex-wrap: wrap;
1298    gap: 8px;
1299}
1300#download_options_modal .wf-download-format-option {
1301    display: inline-flex;
1302    align-items: center;
1303    gap: 6px;
1304    margin: 0;
1305    padding: 6px 12px;
1306    border: 1px solid #e2e4e8;
1307    border-radius: 6px;
1308    background: #fff;
1309    cursor: pointer;
1310    font-size: 13px;
1311    color: #333;
1312    line-height: 1.2;
1313}
1314#download_options_modal .wf-download-format-option:hover {
1315    border-color: #c5cad3;
1316    background: #f8f9fb;
1317}
1318#download_options_modal .wf-download-format-option input {
1319    margin: 0;
1320}
1321.wf-download-units-grid {
1322    display: grid;
1323    grid-template-columns: 1fr 1fr;
1324    gap: 10px 12px;
1325}
1326.wf-download-unit-field label {
1327    display: block;
1328    font-size: 11px;
1329    font-weight: 600;
1330    color: #5a5a7a;
1331    margin-bottom: 4px;
1332    text-transform: uppercase;
1333    letter-spacing: 0.03em;
1334}
1335.wf-download-unit-field select {
1336    width: 100%;
1337    max-width: 100%;
1338    padding: 7px 8px;
1339    font-size: 13px;
1340    color: #333;
1341    border: 1px solid #e2e4e8;
1342    border-radius: 6px;
1343    background: #fff;
1344    box-sizing: border-box;
1345}
1346.wf-download-unit-field select:focus {
1347    outline: none;
1348    border-color: #04173f;
1349    box-shadow: 0 0 0 2px rgba(4, 23, 63, 0.12);
1350}
1351#download_params_container {
1352    max-height: 260px;
1353    overflow-y: auto;
1354    border: 1px solid #e2e4e8;
1355    border-radius: 8px;
1356    padding: 8px;
1357    background: #f8f9fb;
1358}
1359.wf-download-param-row {
1360    display: flex;
1361    align-items: center;
1362    gap: 8px;
1363    padding: 7px 8px;
1364    margin: 0 0 6px;
1365    border: 1px solid #e2e4e8;
1366    border-radius: 6px;
1367    background: #fff;
1368}
1369.wf-download-param-row:last-child {
1370    margin-bottom: 0;
1371}
1372.wf-download-param-row.is-dragging {
1373    opacity: 0.65;
1374}
1375.wf-download-param-row.is-drag-over {
1376    box-shadow: inset 0 0 0 2px #04173f;
1377}
1378.wf-download-param-drag-handle {
1379    flex: 0 0 auto;
1380    display: flex;
1381    flex-direction: column;
1382    justify-content: center;
1383    gap: 3px;
1384    width: 18px;
1385    padding: 4px 2px;
1386    border: 0;
1387    background: transparent;
1388    color: #888;
1389    cursor: grab;
1390    touch-action: none;
1391}
1392.wf-download-param-drag-handle span {
1393    display: block;
1394    width: 12px;
1395    height: 2px;
1396    border-radius: 1px;
1397    background: currentColor;
1398}
1399.wf-download-param-drag-handle:active {
1400    cursor: grabbing;
1401}
1402.wf-download-param-label {
1403    flex: 1 1 auto;
1404    min-width: 0;
1405    margin: 0;
1406    cursor: pointer;
1407    font-size: 13px;
1408    color: #333;
1409    line-height: 1.35;
1410    word-break: break-word;
1411}
1412.wf-download-param-reorder {
1413    flex: 0 0 auto;
1414    display: flex;
1415    flex-direction: column;
1416    gap: 2px;
1417}
1418.wf-download-param-move {
1419    flex: 0 0 auto;
1420    width: 22px;
1421    height: 18px;
1422    padding: 0;
1423    border: 1px solid #e2e4e8;
1424    border-radius: 4px;
1425    background: #fff;
1426    color: #5a5a7a;
1427    font-size: 10px;
1428    line-height: 1;
1429    cursor: pointer;
1430}
1431.wf-download-param-move:hover:not(:disabled) {
1432    background: #f5f7fa;
1433    color: #04173f;
1434}
1435.wf-download-param-move:disabled {
1436    opacity: 0.35;
1437    cursor: not-allowed;
1438}
1439.wf-download-param-actions {
1440    display: flex;
1441    flex-wrap: wrap;
1442    gap: 8px;
1443    margin-top: 10px;
1444}
1445.wf-download-param-actions .download-select-all,
1446.wf-download-param-actions .download-deselect-all {
1447    flex: 1 1 auto;
1448    min-width: 0;
1449    width: auto !important;
1450    max-width: none !important;
1451    margin: 0 !important;
1452    padding: 8px 12px !important;
1453    font-size: 12px !important;
1454    font-weight: 600;
1455    line-height: 1.35 !important;
1456    white-space: normal !important;
1457    text-align: center;
1458    border: 1px solid #e2e4e8 !important;
1459    border-radius: 6px !important;
1460    background: #fff !important;
1461    color: #04173f !important;
1462    cursor: pointer;
1463    box-sizing: border-box;
1464}
1465.wf-download-param-actions .download-select-all:hover,
1466.wf-download-param-actions .download-deselect-all:hover {
1467    background: #f5f7fa !important;
1468    border-color: #c5cad3 !important;
1469}
1470#download_prefs_blocked_notice {
1471    display: none;
1472    margin-bottom: 14px;
1473    padding: 10px 12px;
1474    font-size: 12px;
1475    line-height: 1.45;
1476    color: #5a5a7a;
1477    background: #f8f9fb;
1478    border: 1px solid #e2e4e8;
1479    border-radius: 8px;
1480}
1481#download_prefs_blocked_notice .wf-download-cookie-settings-btn.wf-consent-action-btn {
1482    margin-top: 8px !important;
1483    min-height: 28px !important;
1484    padding: 4px 12px !important;
1485    gap: 5px !important;
1486    font-size: 11px !important;
1487    font-weight: 600 !important;
1488    border-radius: 999px !important;
1489    transform: none !important;
1490}
1491#download_prefs_blocked_notice .wf-download-cookie-settings-btn.wf-consent-action-btn::before {
1492    width: 12px;
1493    height: 12px;
1494}
1495#download_prefs_blocked_notice .wf-download-cookie-settings-btn.wf-consent-action-btn:hover,
1496#download_prefs_blocked_notice .wf-download-cookie-settings-btn.wf-consent-action-btn:focus {
1497    transform: none !important;
1498    outline-offset: 1px;
1499}
1500#download_modal_button_container {
1501    display: flex;
1502    flex-wrap: wrap;
1503    justify-content: flex-end;
1504    gap: 8px;
1505    margin-top: 16px;
1506    padding-top: 14px;
1507    border-top: 1px solid #e8eaee;
1508}
1509#download_modal_cancel_btn,
1510#download_modal_download_btn {
1511    margin: 0 !important;
1512    padding: 9px 18px !important;
1513    border: none !important;
1514    border-radius: 6px !important;
1515    font-size: 13px !important;
1516    font-weight: 600 !important;
1517    cursor: pointer;
1518    display: inline-block;
1519}
1520#download_modal_cancel_btn {
1521    background: #6b7280 !important;
1522    color: #fff !important;
1523}
1524#download_modal_cancel_btn:hover {
1525    background: #4b5563 !important;
1526}
1527#download_modal_download_btn {
1528    background: #04173f !important;
1529    color: #fff !important;
1530}
1531#download_modal_download_btn:hover {
1532    background: #0a2a6b !important;
1533}
1534@media (max-width: 640px) {
1535    #download_options_modal .modal-content {
1536        margin: 10px auto !important;
1537        max-width: calc(100% - 20px) !important;
1538    }
1539    #download_options_modal .wf-download-modal-body {
1540        padding: 14px !important;
1541    }
1542    .wf-download-units-grid {
1543        grid-template-columns: 1fr;
1544    }
1545    #download_modal_button_container {
1546        justify-content: stretch;
1547    }
1548    #download_modal_cancel_btn,
1549    #download_modal_download_btn {
1550        flex: 1 1 100%;
1551        width: 100% !important;
1552        text-align: center;
1553    }
1554}
1555</style>
1556<div id="download_options_modal_backdrop" class="modal-backdrop" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background-color:rgba(0,0,0,0.5); z-index:10040;" onclick="closeDownloadModal();"></div>
1557<div id="download_options_modal" class="modal" style="display:none; position:fixed; z-index:10050; top:0; left:0; width:100%; height:100%; overflow:auto; padding:10px; box-sizing:border-box;">
1558    <div class="modal-content" onclick="event.stopPropagation();">
1559        <div class="wf-download-modal-header">
1560            <h3 class="wf-download-modal-title" data-i18n="downloads.options">Download Options</h3>
1561            <button type="button" id="download_modal_close_btn" onclick="closeDownloadModal();" title="Close" data-i18n="common.close" data-i18n-attr="title" aria-label="Close">&times;</button>
1562        </div>
1563
1564        <div class="wf-download-modal-body">
1565            <div id="download_prefs_blocked_notice" role="status">
1566                <span data-i18n="downloads.prefs_blocked">Download preferences are not saved while Preferences storage is off. Defaults apply for this download.</span>
1567                <button type="button" class="button wf-consent-action-btn wf-download-cookie-settings-btn" onclick="if(window.WFConsent){WFConsent.showPreferences();}" data-i18n="consent.settings_blocked_action">Cookie settings</button>
1568            </div>
1569
1570            <div class="wf-download-section">
1571                <span class="wf-download-section-title" data-i18n="downloads.select_format">Format</span>
1572                <div class="wf-download-format-row">
1573                    <label class="wf-download-format-option">
1574                        <input type="radio" name="download_format" id="download_format_csv" value="csv" checked>
1575                        <span>CSV</span>
1576                    </label>
1577                    <label class="wf-download-format-option">
1578                        <input type="radio" name="download_format" id="download_format_json" value="json">
1579                        <span>JSON</span>
1580                    </label>
1581                </div>
1582            </div>
1583
1584            <div class="wf-download-section">
1585                <span class="wf-download-section-title" data-i18n="downloads.select_units">Units &amp; date/time</span>
1586                <div class="wf-download-units-grid">
1587                    <div class="wf-download-unit-field">
1588                        <label for="download_unit_wind" data-i18n="downloads.unit_wind">Wind speed</label>
1589                        <select id="download_unit_wind" name="download_unit_wind">
1590                            <option value="mps" data-i18n="unit.mps">Meters Per Second</option>
1591                            <option value="mph" data-i18n="unit.mph">Miles Per Hour</option>
1592                            <option value="kts" data-i18n="unit.kts">Knots</option>
1593                            <option value="kph" data-i18n="unit.kph">Kilometers Per Hour</option>
1594                        </select>
1595                    </div>
1596                    <div class="wf-download-unit-field">
1597                        <label for="download_unit_temp" data-i18n="downloads.unit_temp">Temperature</label>
1598                        <select id="download_unit_temp" name="download_unit_temp">
1599                            <option value="celsius" data-i18n="unit.celsius">Celsius</option>
1600                            <option value="fhr" data-i18n="unit.fahrenheit">Fahrenheit</option>
1601                        </select>
1602                    </div>
1603                    <div class="wf-download-unit-field">
1604                        <label for="download_unit_dir" data-i18n="downloads.unit_dir">Wind direction</label>
1605                        <select id="download_unit_dir" name="download_unit_dir">
1606                            <option value="deg" data-i18n="downloads.unit_dir_deg">Degrees</option>
1607                            <option value="cardinal" data-i18n="downloads.unit_dir_cardinal">Cardinal (N, NE, …)</option>
1608                        </select>
1609                    </div>
1610                    <div class="wf-download-unit-field">
1611                        <label for="download_unit_rain" data-i18n="downloads.unit_rain">Rain</label>
1612                        <select id="download_unit_rain" name="download_unit_rain">
1613                            <option value="mm" data-i18n="downloads.unit_rain_mm">Millimetres</option>
1614                            <option value="in" data-i18n="downloads.unit_rain_in">Inches</option>
1615                        </select>
1616                    </div>
1617                    <div class="wf-download-unit-field">
1618                        <label for="download_unit_datetime" data-i18n="downloads.unit_datetime">Date / time</label>
1619                        <select id="download_unit_datetime" name="download_unit_datetime">
1620                            <option value="UTC" data-i18n="downloads.unit_datetime_utc">UTC</option>
1621                            <option value="LCL" data-i18n="downloads.unit_datetime_local">Local time</option>
1622                        </select>
1623                    </div>
1624                </div>
1625            </div>
1626
1627            <div class="wf-download-section">
1628                <span class="wf-download-section-title" data-i18n="downloads.select_parameters">Parameters</span>
1629                <span class="wf-download-section-hint" data-i18n="downloads.params_hint">Drag or use arrows to reorder. Uncheck to exclude from the file.</span>
1630                <div id="download_params_container">
1631                    <!-- Parameters will be populated dynamically -->
1632                </div>
1633                <div class="wf-download-param-actions">
1634                    <input type="button" class="button download-select-all" value="Select All" data-i18n="downloads.select_all" data-i18n-attr="value" onclick="setAllDownloadParamsSelected(true);"/>
1635                    <input type="button" class="button download-deselect-all" value="Deselect All" data-i18n="downloads.deselect_all" data-i18n-attr="value" onclick="setAllDownloadParamsSelected(false);"/>
1636                </div>
1637            </div>
1638
1639            <div id="download_modal_button_container">
1640                <input type="button" id="download_modal_cancel_btn" class="button" value="Cancel" data-i18n="downloads.cancel" data-i18n-attr="value" onclick="closeDownloadModal();"/>
1641                <input type="button" id="download_modal_download_btn" class="button" value="Download" data-i18n="downloads.download" data-i18n-attr="value" onclick="proceedWithDownload();"/>
1642            </div>
1643        </div>
1644
1645    </div>
1646</div>
1647
1648                    <div id="location_admin_container" class="dynamic"></div>
1649                    <div id="user_admin_container" class="dynamic"></div>
1650                    <div id="firmware_admin_container" class="dynamic"></div>
1651                    <div id="device_admin_container" class="dynamic"></div>
1652                    <div id="partner_admin_container" class="dynamic"></div>
1653
1654                    <!-- ADMIN -->
1655                    <div id="admin_container" class="canvas_hideable" style="display:none;">
1656                    </div>
1657
1658                    <!-- LOCATIONS -->
1659                    <div id="location_list_container" class="canvas_hideable" style="display:none;">
1660    <div class="container">
1661        <div class="bootstrap-frm">
1662
1663            <h3>
1664                <table>
1665                    <tr>
1666                        <td id="lc_loc_id" style="width:570px; border-bottom: 1px #ddd solid;" data-i18n="locations.title">Locations</td>
1667                        <td style="border-bottom: 1px #ddd solid;" onclick="window.history.back();"><img alt="Back &raquo;" title="Back &raquo;" src="/images/icons/click.png" data-i18n="common.back_arrow" data-i18n-attr="alt,title"></td>
1668                    </tr>
1669                </table>
1670            </h3>
1671
1672            <p id="locations-favorites-message" class="wf-locations-feedback-banner"></p>
1673
1674            <div id="locations-shortcuts" class="wf-locations-shortcuts">
1675                <div id="locations-shortcuts-sections"></div>
1676            </div>
1677
1678            <div id="locations-filter-toolbar" class="wf-locations-toolbar">
1679                <div class="wf-locations-toolbar-main">
1680                    <div class="wf-locations-filter-row wf-locations-filter-row-region">
1681                        <label for="locations-region-filter" class="wf-locations-filter-sr" data-i18n="locations.region">Region</label>
1682                        <select id="locations-region-filter"></select>
1683                    </div>
1684                    <div class="wf-locations-filter-row wf-locations-filter-row-search">
1685                        <label for="locations-search-filter" class="wf-locations-filter-sr" data-i18n="locations.search">Search</label>
1686                        <input type="search" id="locations-search-filter" placeholder="Name or ID" autocomplete="off" data-i18n="locations.name_or_id" data-i18n-attr="placeholder">
1687                    </div>
1688                    <div class="wf-locations-actions-group">
1689                        <button type="button" id="locations-near-toggle" class="wf-locations-location-btn wf-locations-icon-btn" aria-label="Sort by nearest" title="Sort by nearest" aria-pressed="false" data-i18n="locations.sort_nearest" data-i18n-attr="aria-label,title">
1690                            <i class="fa fa-crosshairs" aria-hidden="true"></i>
1691                        </button>
1692                        <div id="locations-distance-units" class="wf-locations-distance-units" style="display:none;" role="group" aria-label="Distance units" data-i18n="locations.distance_units" data-i18n-attr="aria-label">
1693                            <button type="button" class="wf-locations-unit-btn is-active" data-units="km">km</button>
1694                            <button type="button" class="wf-locations-unit-btn" data-units="mi">mi</button>
1695                        </div>
1696                    </div>
1697                    <div id="locations-count-summary" class="wf-locations-count-summary"></div>
1698                </div>
1699                <p id="locations-near-status" class="wf-locations-near-status"></p>
1700            </div>
1701            <div id="locations-results">
1702                <div id="locations-loading" class="wf-locations-loading" style="display:none;" data-i18n="locations.loading">Loading locations&hellip;</div>
1703                <div id="locations-error" class="wf-locations-error" style="display:none;"></div>
1704            </div>
1705        </div>
1706    </div>
1707</div>
1708
1709                    <!-- LOCATION INFORMATION -->
1710                    <style>
1711    a.equipment {
1712        text-decoration: none;
1713    }
1714
1715    a.equipment:hover {
1716        text-decoration: underline;
1717    }
1718
1719    /* The sidebar menu */
1720    .sidebar {
1721        height: 100%;
1722        /* 100% Full-height */
1723        width: 0;
1724        /* 0 width - change this with JavaScript */
1725        position: fixed;
1726        /* Stay in place */
1727        z-index: 1;
1728        /* Stay on top */
1729        top: 0;
1730        left: 0;
1731        background-color: #999;
1732        /* Black*/
1733        overflow-x: hidden;
1734        /* Disable horizontal scroll */
1735        padding-top: 60px;
1736        /* Place content 60px from the top */
1737        transition: 0.5s;
1738        /* 0.5 second transition effect to slide in the sidebar */
1739    }
1740
1741    /* The sidebar links */
1742    .sidebar a {
1743        padding: 8px 8px 8px 32px;
1744        text-decoration: none;
1745        font-size: 25px;
1746        color: #000;
1747        display: block;
1748        transition: 0.3s;
1749    }
1750
1751    /* When you mouse over the navigation links, change their color */
1752    .sidebar a:hover {
1753        color: #f1f1f1;
1754    }
1755
1756    /* Position and style the close button (top right corner) */
1757    .sidebar .closebtn {
1758        position: absolute;
1759        top: 0;
1760        right: 25px;
1761        font-size: 36px;
1762        margin-left: 50px;
1763    }
1764
1765    /* The button used to open the sidebar */
1766    .openbtn {
1767        font-size: 20px;
1768        cursor: pointer;
1769        background-color: #999;
1770        color: white;
1771        padding: 10px 15px;
1772        border: none;
1773    }
1774
1775    .openbtn:hover {
1776        background-color: #444;
1777    }
1778
1779    /* Style page content - use this if you want to push the page content to the right when you open the side navigation */
1780    #main {
1781        transition: margin-left .5s;
1782        /* If you want a transition effect */
1783    }
1784
1785    /* On smaller screens, where height is less than 450px, change the style of the sidenav (less padding and a smaller font size) */
1786    @media screen and (max-height: 450px) {
1787        .sidebar {
1788            padding-top: 15px;
1789        }
1790
1791        .sidebar a {
1792            font-size: 18px;
1793        }
1794    }
1795
1796    /* Location gauges: show full values (override gauge.min.css 54% width + ellipsis). */
1797    #averages_meters .GaugeMeter span {
1798        width: 88% !important;
1799        margin: 0 6% !important;
1800        overflow: visible !important;
1801        text-overflow: clip !important;
1802    }
1803    #meters_banner {
1804        background-color: #009;
1805        text-align: center;
1806        padding: 15px 8px 10px;
1807        display: none;
1808    }
1809    #averages_meters,
1810    #latest_meters {
1811        display: none;
1812        vertical-align: top;
1813        text-align: center;
1814        background: transparent;
1815        padding: 0;
1816    }
1817    #averages_meters.is-visible,
1818    #latest_meters.is-visible {
1819        display: inline-block;
1820    }
1821    #latest_meters.is-visible {
1822        border-left: 1px solid rgba(255, 255, 255, 0.35);
1823        margin-left: 10px;
1824        padding-left: 14px;
1825    }
1826    .wf-meters-updated {
1827        color: white;
1828        font-weight: bold;
1829        margin: 0 0 6px;
1830        font-size: 13px;
1831        white-space: nowrap;
1832    }
1833</style>
1834
1835<div id="location_info_container" class="canvas_hideable" style="display:none;">
1836
1837    
1838    <div class="container-fluid">
1839        <div style="margin-left:auto !important; margin-right:auto !important; padding:0px 0px 0px 0px !important;">
1840            <div class="container" style="padding-bottom:10px !important">
1841                <div class="sixteen columns">
1842
1843                    <div class="wf-location-header">
1844                        <div class="wf-location-header-main">
1845                            <div class="wf-location-header-title-row">
1846                                <h1 id="name_and_location" class="wf-location-header-title"></h1>
1847                                <button type="button" id="location-favorite-toggle" class="wf-location-favorite-btn" aria-pressed="false" title="Add to favorites" aria-label="Add to favorites" data-i18n="location.add_favorite" data-i18n-attr="title,aria-label">&#9734;</button>
1848                                <span id="location-favorite-message" class="wf-location-favorite-message"></span>
1849                            </div>
1850                            <div class="wf-location-header-meta">
1851                                <span id="equipment"></span>
1852                                <span id="friendly_location"></span>
1853                            </div>
1854                        </div>
1855                        <div id="equipmentimg" class="wf-location-header-equip-img"></div>
1856                        <div class="wf-location-header-back" onclick="window.history.back();" role="button" tabindex="0">
1857                            <img alt="Back &raquo;" title="Back &raquo;" src="/images/icons/click.png" width="16" height="16" data-i18n="common.back_arrow" data-i18n-attr="alt,title">
1858                        </div>
1859                    </div>
1860                    <div class="clearfix"></div>
1861                </div>
1862            </div>
1863
1864
1865
1866            <div id="portdevelopment" name="portdevelopment" class="container-fluid" style="display:none; background-color:#009; color: white;font-size:16px; text-align:center; padding-top:15px;padding-bottom:15px;" data-i18n="location.portland_offline_html" data-i18n-attr="html">
1867                Portland Harbour is offline for routine maintenance.<br />This system will return as soon as possible.<br />
1868            </div>
1869
1870            <div id="hurstcorona" name="hurstcorona" class="container-fluid" style="display:none; font-weight:bold; background-color:#009; color: white;font-size:16px; text-align:center; padding-top:15px;padding-bottom:15px;" data-i18n="location.hurst_power_banner_html" data-i18n-attr="html">
1871                There is currently no data available for this location & date range. Please try again later ...<br />
1872                As a temporary measure, to conserve power, this site is not sending live data between 1900Hrs and 0500Hrs
1873            </div>
1874
1875            <div id="nodatamessage" name="nodatamessage" class="container-fluid" style="display:none; background-color: #009;color: white;font-size:16px; text-align:center; padding-top:15px;padding-bottom:15px;" data-i18n="location.no_data_banner_html" data-i18n-attr="html">
1876                There is currently no data available for this location &amp; date range<br>
1877                Please try again later ...
1878            </div>
1879
1880            <div id="nolatestdatamessage" name="nolatestdatamessage" class="container-fluid" style="display:none; background-color: #009;color: white;font-size:16px; text-align:center; padding-top:15px;padding-bottom:15px;" data-i18n="location.no_live_data_banner_html" data-i18n-attr="html">
1881                No live data available for this location<br>
1882                Historical data is still available
1883            </div>
1884            <!-- <div id="tornessmsg" name="tornessmsg" class="container-fluid" style="display:none; background-color: red;color: white;font-size:16px; text-align:center; padding-top:15px;padding-bottom:15px;">
1885                The location is currently undergoing a maintenance<br>
1886                Please check back later.
1887            </div> --> 
1888
1889            <div id="meters_banner" name="meters_banner">
1890            <div id="averages_meters" name="averages_meters">
1891                <p class="wf-meters-updated"><span data-i18n="location.last_updated_averages">Updated at:</span> <span id="averages_meters_time"></span></p>
1892                <div class="GaugeMeter" id="metercontainer_wind_low" data-text="11" data-percent="1" data-append="a" data-size="110" data-theme="Green-Gold-Red" data-back="RGBa(0,0,0,.1)" data-animate_gauge_colors="1" data-animate_text_colors="1" data-width="10" data-label="Low" data-style="Arch" data-label_color="#FFFFFF" data-i18n="gauge.wind_low" data-i18n-attr="data-label"></div>
1893                <div class="GaugeMeter" id="metercontainer_wind_avg" data-text="11" data-percent="1" data-append="a" data-size="110" data-theme="Green-Gold-Red" data-back="RGBa(0,0,0,.1)" data-animate_gauge_colors="1" data-animate_text_colors="1" data-width="10" data-label="Average" data-style="Arch" data-label_color="#FFFFFF" data-i18n="gauge.wind_avg" data-i18n-attr="data-label"></div>
1894                <div class="GaugeMeter" id="metercontainer_wind_max" data-text="11" data-percent="1" data-append="a" data-size="110" data-theme="Green-Gold-Red" data-back="RGBa(0,0,0,.1)" data-animate_gauge_colors="1" data-animate_text_colors="1" data-width="10" data-label="Max" data-style="Arch" data-label_color="#FFFFFF" data-i18n="gauge.wind_max" data-i18n-attr="data-label"></div>
1895                <div class="GaugeMeter" id="metercontainer_temp" data-text="11" data-percent="1" data-append="a" data-size="110" data-theme="Green-Gold-Red" data-back="RGBa(0,0,0,.1)" data-animate-gauge_c
1895olours="1" data-animate_text_colours="1" data-width="10" data-label="Temp" data-style="Arch" data-label_color="#FFFFFF" data-i18n="gauge.temp" data-i18n-attr="data-label"></div>
1896                <div class="GaugeMeter" id="metercontainer_dew" data-text="11" data-percent="1" data-append="a" data-size="110" data-theme="Green-Gold-Red" data-back="RGBa(0,0,0,.1)" data-animate-gauge_colours="1" data-animate_text_colours="1" data-width="10" data-label="Dewpoint" data-style="Arch" data-label_color="#FFFFFF" data-i18n="gauge.dewpoint" data-i18n-attr="data-label"></div>
1897                <div class="GaugeMeter" id="metercontainer_wc" data-text="11" data-percent="1" data-append="a" data-size="110" data-theme="Green-Gold-Red" data-back="RGBa(0,0,0,.1)" data-animate-gauge_colours="1" data-animate_text_colours="1" data-width="10" data-label="Wind chill" data-style="Arch" data-label_color="#FFFFFF" data-i18n="gauge.wind_chill" data-i18n-attr="data-label"></div>
1898                <div class="GaugeMeter" id="metercontainer_bgt" data-text="11" data-percent="1" data-append="a" data-size="110" data-theme="Green-Gold-Red" data-back="RGBa(0,0,0,.1)" data-animate-gauge_colours="1" data-animate_text_colours="1" data-width="10" data-label="BGT" data-style="Arch" data-label_color="#FFFFFF" data-i18n="gauge.bgt" data-i18n-attr="data-label"></div>
1899                <div class="GaugeMeter" id="metercontainer_hum" data-percent="1" data-append="%" data-size="110" data-theme="Green-Gold-Red" data-back="RGBa(0,0,0,.1)" data-animate_gauge_colors="1" data-animate_text_colors="0" data-width="10" data-label="Humidity" data-style="Arch" data-label_color="#FFFFFF" data-i18n="gauge.humidity" data-i18n-attr="data-label"></div>
1900                <!--<div class="GaugeMeter" id="metercontainer_d1" data-percent="100" data-append="watts" data-size="110" data-theme="Green-Gold-Red" data-back="RGBa(0,0,0,.1)" data-animate_gauge_colors="1" data-animate_text_colors="0" data-width="10" data-label="Tipping Bucket" data-style="Arch" data-label_color="#FFFFFF"></div>-->
1901                <div class="GaugeMeter" id="metercontainer_pressure" data-percent="100" data-append="hpa" data-theme="Green-Gold-Red" data-back="RGBa(0,0,0,.1)" data-animate_gauge_colors="1" data-animate_text_colors="0" data-width="10" data-label="Pressure" data-style="Arch" data-label_color="#FFFFFF" data-i18n="gauge.pressure" data-i18n-attr="data-label"></div>
1902                <div class="GaugeMeter" id="metercontainer_sol" data-percent="100" data-append="watts" data-size="110" data-theme="Green-Gold-Red" data-back="RGBa(0,0,0,.1)" data-animate_gauge_colors="1" data-animate_text_colors="0" data-width="10" data-label="Rainfall" data-style="Arch" data-label_color="#FFFFFF" data-i18n="gauge.rainfall" data-i18n-attr="data-label"></div>
1903                <div class="GaugeMeter" id="metercontainer_trainfall" data-percent="100" data-append="mm" data-size="110" data-theme="Green-Gold-Red" data-back="RGBa(0,0,0,.1)" data-animate_gauge_colors="1" data-animate_text_colors="0" data-width="10" data-label="Total Rainfall" data-style="Arch" data-label_color="#FFFFFF" data-i18n="gauge.total_rainfall" data-i18n-attr="data-label"></div>
1904                <div class="GaugeMeter" id="metercontainer_rainfall" data-percent="100" data-append="mm" data-size="110" data-theme="Green-Gold-Red" data-back="RGBa(0,0,0,.1)" data-animate_gauge_colors="1" data-animate_text_colors="0" data-width="10" data-label="Live Rainfall" data-style="Arch" data-label_color="#FFFFFF" data-i18n="gauge.live_rainfall" data-i18n-attr="data-label"></div>
1905            </div>
1906
1907            <div id="latest_meters" name="latest_meters">
1908                <p class="wf-meters-updated"><span data-i18n="location.last_updated_live">Updated at:</span> <span id="latest_meters_time"></span></p>
1909                <div id="load_wind_direction" style="position:relative; display:inline-block; overflow:hidden; height:110px; width:110px;">
1910                    <canvas id="cDirectionPointer" width="110" height="110"></canvas>
1911                </div>
1912                <div id="load_wind_speed" style="position:relative; display:inline-block; overflow:hidden; height:110px; width:110px; color: white; transform: translateY(32px);">
1913                    <div><span id="current_wind_speed" style="font-size:24px"></span> <span id="wind_speed_units" style=' font-size:24px; '></span>
1914                        <div style=' font-size:14px;' data-i18n="location.wind_speed">Wind Speed</div>
1915                    </div>
1916                </div>
1917            </div>
1918            </div>
1919
1920                <div id="dialcontainer1" name="dialcontainer1" class="container-fluid" style="display:none; text-align:center; padding-top:15px; padding-bottom:10px; background: #00038e !important; background: -webkit-linear-gradient(180deg, #00038e, #2212cb) !important; background: -o-linear-gradient(180deg, #00038e, #2212cb) !important; background: -moz-linear-gradient(180deg, #00038e, #2212cb) !important; background: linear-gradient(180deg, #00038e, #2212cb) !important; ">
1921                    <div id="canvas_live" style="display:inline-block; text-align:center; height:155px; margin-right:15px; font-size:11px;">
1921<canvas id="dial_live"></canvas></div>
1922                    <div id="canvas_wsl" style="display:inline-block; text-align:center; height:155px; margin-right:15px; font-size:11px;"><canvas id="dial_wsl"></canvas></div>
1923                    <div id="canvas_wsa" style="display:inline-block; text-align:center; height:155px; margin-right:15px; font-size:11px;"><canvas id="dial_wsa"></canvas></div>
1924                    <div id="canvas_wsh" style="display:inline-block; text-align:center; height:155px; font-size:11px;"><canvas id="dial_wsh"></canvas></div>
1925                </div>
1926                <div id="dialcontainer2" name="dialcontainer2" class="container-fluid" style="display:none; text-align:center; padding-top:5px; padding-bottom:15px; background: #ddd !important; background: -webkit-linear-gradient(#2212cb, #00038e) !important; background: -o-linear-gradient(#2212cb, #00038e) !important; background: -moz-linear-gradient(#2212cb, #00038e) !important; background: linear-gradient(#2212cb, #00038e) !important; ">
1927                    <div id="canvas_temp" style="display:inline-block; text-align:center; height:155px; margin-right:15px; font-size:11px;"><canvas id="dial_temp"></canvas></div>
1928                    <div id="canvas_dewpoint" style="display:inline-block; text-align:center; height:155px; margin-right:15px; font-size:11px;"><canvas id="dial_dew"></canvas></div>
1929                    <div id="canvas_wc" style="display:inline-block; text-align:center; height:155px; margin-right:15px; font-size:11px;"><canvas id="dial_wc"></canvas></div>
1930                    <div id="canvas_bgt" style="display:inline-block; text-align:center; height:155px; margin-right:15px; font-size:11px;"><canvas id="dial_bgt"></canvas></div>
1931                    <div id="canvas_hum" style="display:inline-block; text-align:center; height:155px; margin-right:15px; font-size:11px;"><canvas id="dial_hum"></canvas></div>
1932                    <div id="canvas_pressure" style="display:inline-block; text-align:center; height:155px; font-size:11px;"><canvas id="dial_pressure"></canvas></div>
1933                    <div id="canvas_rainfall" style="display:inline-block; text-align:center; height:155px; font-size:11px;"><canvas id="dial_rainfall"></canvas></div>
1934                </div>
1935                <div id="dialcontainer3" name="dialcontainer3" class="container-fluid" style="display:none; font-size:11px; text-align:center; padding-top:5px; padding-bottom:15px;">
1936                    Multiple themes will appearing in coming months, for more information email [email protected]
1937                    
1938                </div>
1939                <div> 
1940
1941                </div>
1942                <div class="clearfix"></div>
1943
1944                <div class="container-fluid" style="height:40px !important;">
1945
1946                    <!-- Displays dropdown -->
1947                    <div id="displays-dropdown" style="position:relative; float:left;">
1948                        <div id="displays-button" class="displays-dropdown-button" onclick="toggleDisplaysDropdown()" style="background-color:#eee; color:#000; height:25px; margin-top:10px; margin-right:10px;">
1949                            <span id="displays-selected-text" data-i18n="location.displays">Displays</span>
1950                            <span class="displays-arrow">▼</span>
1951                        </div>
1952                        <div id="displays-menu" class="displays-dropdown-menu" style="display:none;">
1953                            <a href="#" class="displays-menu-item" onclick="selectDisplay('wind'); return false;" data-i18n="location.wind_data">Wind data</a>
1954                            <a href="#" class="displays-menu-item" onclick="selectDisplay('wind-rose'); return false;" data-i18n="location.wind_rose">Wind rose</a>
1955                            <a href="#" class="displays-menu-item" onclick="selectDisplay('rain'); return false;" data-i18n="location.rain_data">Rain data</a>
1956                        </div>
1957                    </div>
1958
1959
1960                    <div id="range_select" style="position:relative; float:right;">
1961                        <select onchange="updateRangeSelect();" style="background-color:#eee; color:#000; height:25px; margin-top:10px; margin-right:10px;" id="lv_range_select">
1962                            <option value="" data-i18n="location.since_midnight">Since Midnight</option>
1963                            <option value="last_hrs=3" data-i18n="location.last_3_hours">Last 3 hours</option>
1964                            <option value="last_hrs=24" data-i18n="location.last_24_hours">Last 24 hours</option>
1965                            <option value="last_hrs=48" data-i18n="location.last_48_hours">Last 48 hours</option>
1966                            <option value="last_days=7" data-i18n="location.last_7_days">Last 7 days</option>
1967                            <option value="last_days=10" data-i18n="location.last_10_days">Last 10 days</option>
1968                            <option value="last_days=14" data-i18n="location.last_14_days">Last 14 days</option>
1969                        </select>
1970                    </div>
1971
1972                    <div id="range_select" style="float:right; position:relative">
1973                        <div id="dl2"></div>
1974                    </div>
1975                    <div style="float:right; position:relative">
1976                        <div id="el2"></div>
1976 <!-- Edit Link Div -->
1977                    </div>
1978                </div>
1979
1980                <div class="container-fluid">
1981                    <span id="locinfo_current_info"></span>
1982                </div>
1983
1984                <div id="wspeed_chart" style="margin-left:8px; background-color:#fff;"></div>
1985                <div id="wdirection_chart" style="margin-left:8px; background-color:#fff;"></div>
1986                <div id="temperature_chart" style="margin-left:8px; background-color:#fff;"></div>
1987                <div id="tw_chart" style="margin-left:8px; background-color:#fff;"></div>
1988                <div id="dewpoint_chart" style="margin-left:8px; background-color:#fff;"></div>
1989                <div id="windchill_chart" style="margin-left:8px; background-color:#fff;"></div>
1990                <div id="bgt_chart" style="margin-left:8px; background-color:#fff;"></div>
1991                <div id="pressure_chart" style="margin-left:8px; background-color:#fff;"></div>
1992                <div id="hum_chart" style="margin-left:8px; background-color:#fff;"></div>
1993                <div id="rainfall_chart" style="margin-left:8px; background-color:#fff;"></div>
1994                <div id="trainfall_chart" style="margin-left:8px; background-color:#fff;"></div>
1995                <div id="d1_chart" style="margin-left:8px; background-color:#fff;"></div>
1996                <div id="sol_chart" style="margin-left:8px; background-color:#fff;"></div>
1997                <div id="fsa_chart" style="margin-left:8px; background-color:#fff;"></div>
1998                <div id="fda_chart" style="margin-left:8px; background-color:#fff;"></div>
1999                <div id="vlt_chart" style="margin-left:8px; background-color:#fff;"></div>
2000                <div id="vlt2_chart" style="margin-left:8px; background-color:#fff;"></div>
2001                <!-- <div id="p1u_chart" style="margin-left:8px; background-color:#fff;"></div>
2002                <div id="p2u5_chart" style="margin-left:8px; background-color:#fff;"></div>
2003                <div id="p10u_chart" style="margin-left:8px; background-color:#fff;"></div>
2004                <div id="co2_chart" style="margin-left:8px; background-color:#fff;"></div>
2005                <div id="load_ads_2" style="margin-left:5px; background-color:#fff; padding-bottom:20px;"></div>-->
2006
2007                <style>
2008                    .float_center {
2009                        float: right;
2010                        position: relative;
2011                        left: -50%;
2012                        text-align: left;
2013                    }
2014
2015                    .float_center>.child {
2016                        position: relative;
2017                        left: 50%;
2018                    }
2019                    
2020                    /* Displays dropdown styles */
2021                    #displays-dropdown {
2022                        position: relative;
2023                        display: inline-block;
2024                        vertical-align: top;
2025                        float: left;
2026                        z-index: 100;
2027                    }
2028                    
2029                    .displays-dropdown-button {
2030                        cursor: pointer;
2031                        display: inline-block;
2032                        padding: 0 8px;
2033                        box-sizing: border-box;
2034                        user-select: none;
2035                        -webkit-user-select: none;
2036                        -moz-user-select: none;
2037                        -ms-user-select: none;
2038                        line-height: 25px;
2039                        position: relative;
2040                        min-width: 100px;
2041                    }
2042                    
2043                    .displays-dropdown-button:hover {
2044                        background-color: #ddd !important;
2045                    }
2046                    
2047                    #displays-selected-text {
2048                        display: inline-block;
2049                        vertical-align: middle;
2050                    }
2051                    
2052                    .displays-arrow {
2053                        display: inline-block;
2054                        margin-left: 6px;
2055                        font-size: 10px;
2056                        vertical-align: middle;
2057                    }
2058                    
2059                    .displays-dropdown-menu {
2060                        position: absolute;
2061                        top: 100%;
2062                        left: 0;
2063                        background-color: #ffffff;
2064                        border: 1px solid #ccc;
2065                        border-radius: 2px;
2066                        box-shadow: 0 2px 8px rgba(0,0,0,0.15);
2067                        min-width: 120px;
2068                        margin-top: 2px;
2069                        z-index: 101;
2070                    }
2071                    
2072                    .displays-menu-item {
2073                        display: block;
2074                        padding: 8px 12px;
2075                        color: #000000;
2076                        text-decoration: none;
2077                        font-size: 12px;
2078                        cursor: pointer;
2079                        border-bottom: 1px solid #eee;
2080                    }
2081                    
2082                    .displays-menu-item:last-child {
2083                        border-bottom: none;
2084                    }
2085                    
2086                    .displays-menu-item:hover {
2087                        background-color: #f0f0f0;
2088                    }
2089                    
2090                    /* Ensure parent container doesn't interfere */
2091                    .container-fluid[style*="height:40px"] {
2092                        position: relative;
2093                        overflow: visible;
2094                    }
2095                    
2096                    .container-fluid[style*="height:40px"] > div {
2097                        position: relative;
2098                        z-index: 1;
2099                    }
2100                    
2101                    /* Ensure download button is visible and not affected by action-button styles */
2102                    #dl2 button {
2103                        display: inline-block !important;
2104                        visibility: visible !important;
2105                        opacity: 1 !important;
2106                        background-color: #eee !important;
2107                        color: #000 !important;
2108                        font-size: 13px !important;
2109                        font-weight: 600 !important;
2110                        height: 25px !important;
2111                        margin-top: 10px !important;
2112                        margin-right: 10px !important;
2113                        padding-left: 10px !important;
2114                        padding-right: 10px !important;
2115                    }
2116                </style>
2117
2118                <div id="data_table_nav" style="display:none" class="float_center">
2119                    <div class="child">
2120                        <div id="data_table_nav_prev" style="float:left; padding-top:11px; padding-right:10px; padding-bottom:5px; font-size:20px; font-weight:bold;" onclick="dataTablePrev()"><img src="/images/arrowleft.png" alt="&laquo; Earlier Data" title="&laquo; Earlier Data"></div>
2121                        <div id="data_table_mid" style="float:left; right:-50% !important; padding-top:6px; margin-bottom:2px; text-align:right !important; font-weight:bold; font-size:12px;" data-i18n="location.use_arrows">Use arrows for more data</div>
2122                        <div id="data_table_nav_next" style="float:right; padding-left:10px; padding-top:11px; padding-bottom:5px; font-size:20px; font-weight:bold;" onclick="dataTableNext()"><img src="/images/arrowright.png" alt="New Data &raquo;" title="New Data &raquo;"></div>
2123                    </div>
2124                </div>
2125                <div class="clearfix"></div>
2126
2127                <div id="data_table" style="background-color:#fff;"></div>
2128
2129                <div id="data_table_nav_2" style="display:none" class="float_center">
2130                    <div class="child">
2131                        <div id="data_table_nav_prev_bottom" style="float:left; padding-top:11px; padding-right:10px; padding-bottom:5px; font-size:20px; font-weight:bold;" onclick="dataTablePrev()"><img src="/images/arrowleft.png" alt="&laquo; Earlier Data" title="&laquo; Earlier Data"></div>
2132                        <div id="data_table_mid_bottom" style="float:left; right:-50% !important; padding-top:6px; margin-bottom:2px; text-align:right !important; font-weight:bold; font-size:12px;" data-i18n="location.use_arrows">Use arrows for more data</div>
2133                        <div id="data_table_nav_next_bottom" style="float:right; padding-left:10px; padding-top:11px; padding-bottom:5px; font-size:20px; font-weight:bold;" onclick="dataTableNext()"><img src="/images/arrowright.png" alt="New Data &raquo;" title="New Data &raquo;"></div>
2134                    </div>
2135                </div>
2136                <div class="clearfix"></div>
2137                <!--
2138                <div id="adscontainer" class="adscontainer" class="container">
2139                    <div id="spacer" style="width:100%; height:2px; background-color:#fff; padding-bottom:10px;">&nbsp;</div>
2140                    <div id="load_ads_3" style="background-color:#fff; padding-bottom:10px;"></div>
2141                </div>
2142                -->
2143
2144<script>
2145    function customMessage() {
2146        // Set custom messages for specific locations
2147        // if (currentLocation == 'GBR00033') {
2148        //     $("#nodatamessage").hide();
2149        //     $("#nolatestdatamessage").hide();
2150        //     $("#tornessmsg").show();
2151        //     console.log("Troubleshooting: ran torness message script");
2152        // }
2153    }
2154    
2155    setTimeout(customMessage, 5000);
2156</script>
2156
2157
2158<script>
2159    // Displays dropdown functionality
2160    function toggleDisplaysDropdown() {
2161        const menu = document.getElementById('displays-menu');
2162        if (menu.style.display === 'none' || menu.style.display === '') {
2163            menu.style.display = 'block';
2164        } else {
2165            menu.style.display = 'none';
2166        }
2167    }
2168
2169    function selectDisplay(type) {
2170        const currentUrl = new URL(window.location.href);
2171        const locid = currentUrl.searchParams.get('loc_id');
2172        const menu = document.getElementById('displays-menu');
2173        const wsunits = (typeof gC === "function" ? gC("wf_wunits") : null) || "mps";
2174        
2175        if (type === 'wind') {
2176            if (locid) {
2177                const kioskURL = `https://weatherfile.com/kiosk/wind-kiosk.php?locationID=${locid}&wsunits=${wsunits}`;
2178                window.open(kioskURL, '_blank');
2179            } else {
2180                console.log('No locid found in the current URL');
2181            }
2182        } else if (type === 'rain') {
2183            // Redirect to rain data page
2184            if (locid) {
2185                const rainURL = `https://weatherfile.com/display-processor/pages/location-rain.html?loc_id=${locid}`;
2186                window.open(rainURL, '_blank');
2187            } else {
2188                console.log('No locid found in the current URL');
2189            }
2190        } else if (type === 'wind-rose') {
2191            if (locid) {
2192                const windRoseURL = `https://weatherfile.com/display-processor/pages/wind-rose.html?loc_id=${locid}&wsu=${wsunits}`;
2193                window.open(windRoseURL, '_blank');
2194            } else {
2195                console.log('No locid found in the current URL');
2196            }
2197        }
2198        
2199        // Close the dropdown
2200        menu.style.display = 'none';
2201    }
2202
2203    // Close dropdown when clicking outside
2204    document.addEventListener('click', function(event) {
2205        const dropdown = document.getElementById('displays-dropdown');
2206        const menu = document.getElementById('displays-menu');
2207        if (dropdown && menu && !dropdown.contains(event.target)) {
2208            menu.style.display = 'none';
2209        }
2210    });
2211
2212</script>
2212
2213
2214
2215                </div><!-- Outer containter end -->
2216            </div>
2217
2218            
2218<script>
2219                $(document).ready(function() {
2220                    $(".owl-carousel").owlCarousel();
2221                });
2222            </script>
2222
2223            <!-- Container / End -->
2224
2225            
2226            <div class="clearfix"></div>
2227
2228            <style>
2229	.wf-marketing-banner {
2230		width: 100%;
2231		box-sizing: border-box;
2232		background: rgb(2, 0, 36);
2233		background: linear-gradient(0deg, rgba(2, 0, 36, 1) 0%, rgba(0, 0, 153, 1) 45%);
2234		text-align: center;
2235		padding: 12px 16px;
2236	}
2237
2238	.wf-marketing-banner-inner {
2239		max-width: 1200px;
2240		margin: 0 auto;
2241		padding: 4px 0;
2242		color: #fff;
2243		font-weight: bold;
2244		font-size: 14px;
2245		line-height: 1.5;
2246	}
2247
2248	.wf-marketing-banner a.calendar,
2249	.wf-marketing-banner a.calendar:link,
2250	.wf-marketing-banner a.calendar:visited,
2251	.wf-marketing-banner a.calendar:hover,
2252	.wf-marketing-banner a.calendar:active {
2253		color: #fff;
2254		text-decoration: none;
2255	}
2256
2257	.wf-marketing-banner a.calendar:hover {
2258		text-decoration: underline;
2259	}
2260
2261	.wf-marketing-about {
2262		max-width: 1200px;
2263		margin: 0 auto;
2264		padding: 32px 16px 0;
2265		box-sizing: border-box;
2266	}
2267
2268	.wf-marketing-about-grid {
2269		display: grid;
2270		grid-template-columns: 1fr;
2271		gap: 24px;
2272	}
2273
2274	.wf-marketing-about-copy {
2275		font-size: 14px;
2276		line-height: 1.55;
2277		color: #444;
2278	}
2279
2280	.wf-marketing-about-copy .headline {
2281		float: none;
2282		display: block;
2283		width: 100%;
2284		margin: 0 0 16px;
2285	}
2286
2287	.wf-marketing-about-copy p {
2288		margin: 0 0 14px;
2289	}
2290
2291	.wf-marketing-about-copy a {
2292		color: #04173f;
2293	}
2294
2295	.wf-marketing-about-copy a:hover {
2296		text-decoration: underline;
2297	}
2298
2299	.wf-marketing-about-media img,
2300	.wf-marketing-about-banner img {
2301		display: block;
2302		width: 100%;
2303		max-width: 100%;
2304		height: auto;
2305	}
2306
2307	.wf-marketing-about-banner {
2308		margin-top: 8px;
2309	}
2310
2311	.wf-marketing-about-media {
2312		display: flex;
2313		align-items: flex-start;
2314		justify-content: center;
2315	}
2316
2317	@media only screen and (min-width: 768px) {
2318		.wf-marketing-banner {
2319			padding: 16px 24px;
2320		}
2321
2322		.wf-marketing-banner-inner {
2323			font-size: 15px;
2324		}
2325
2326		.wf-marketing-about {
2327			padding: 40px 24px 0;
2328		}
2329
2330		.wf-marketing-about-grid {
2331			grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
2332			gap: 32px;
2333			align-items: start;
2334		}
2335	}
2336
2337	@media only screen and (min-width: 992px) {
2338		.wf-marketing-about {
2339			padding: 48px 24px 0;
2340		}
2341	}
2342</style>
2343
2344<div class="wf-marketing-banner">
2345	<div class="wf-marketing-banner-inner">
2346		<a class="calendar" href="https://r-p-r.co.uk/pages/sensors" target="_blank" data-i18n="marketing.create_location_html" data-i18n-attr="html">Create your own WeatherFile location. <br />View our systems here &raquo;</a><br />
2347		<span data-i18n="marketing.contact_sales_prefix">Contact our sales team on </span><a class="calendar" href="tel:+441590641223">+44 (0) 1590 641223</a>
2348	</div>
2349</div>
2350
2351<div class="wf-marketing-about">
2352	<div class="wf-marketing-about-grid">
2353		<div class="wf-marketing-about-copy">
2354			<h3 class="headline" data-i18n="marketing.about_us">About Us</h3>
2355			<p data-i18n="marketing.about_lead">
2356				We are passionate about wind and weather monitoring.
2357			</p>
2358
2359			<p data-i18n="marketing.about_p2_html" data-i18n-attr="html">
2360				At <a href="https://r-p-r.co.uk" target="_blank" rel="noopener">Richard Paul Russell Limited</a> we developed WeatherFile.com
2361				because we are passionate about wind and weather monitoring and providing solutions that enable you to be the same.
2362				We are all interested in the weather but have our own specific applications and requirements: from knowing the 'surfs up' to
2363				pollution monitoring, from safety at sea to safety on a building site.
2364			</p>
2365
2366			<p data-i18n="marketing.about_p3">
2367				However, as you know all applications start with the best sensors and systems that can ensure the highest integrity of
2368				your data for your requirements and below are links to several of our standard systems that provide this. We are
2369				always interested in your applications and would be pleased to discuss your requirements.<br />
2370			</p>
2371			<p data-i18n="marketing.about_contact_html" data-i18n-attr="html">
2372				Please contact us by email <a href="mailto:[email protected]">[email protected]</a> or call our technical team <a href="tel:+441590641223"> +44 (0) 1590 641223. </a>
2373			</p>
2374			<!-- <div class="owl-carousel">
2375				<div> <img src="https://r-p-r.co.uk/app/uploads/2019/01/WF1banner-1024x357-1.jpg" alt="temp pic"></div>
2376			</div> -->
2377			<div class="wf-marketing-about-banner">
2378				<img class="lazyload" data-src="../images/equipments/banner.png" alt="banner image" title="Weatherfile.com banner">
2379			</div>
2380		</div>
2381		<div class="wf-marketing-about-media">
2382			<!-- <img class="lazyload" data-src="https://r-p-r.co.uk/app/uploads/2019/01/wf-main-2.jpg" alt="GMX600 WF1 Weather Station" title="GMX 600 Weather Station with WCU (Weatherfile communication unit)" style="width:100%;"> -->
2383			<img class="lazyload" data-src="../images/equipments/wf1-gmx600.png" alt="GMX600 WF1 Weather Station" title="GMX 600 Weather Station with WCU (Weatherfile communication unit)">
2384		</div>
2385	</div>
2386</div><style>
2387	#bestsellers {
2388		max-width: 1200px;
2389		margin: 0 auto 50px;
2390		padding: 0 16px;
2391		box-sizing: border-box;
2392	}
2393
2394	#bestsellers .wf-marketing-products-divider {
2395		width: 48px;
2396		margin: 0 auto 24px;
2397		border: 0;
2398		border-top: 1px solid #ccc;
2399	}
2400
2401	#bestsellers .wf-marketing-products-grid {
2402		display: grid;
2403		grid-template-columns: 1fr;
2404		gap: 20px;
2405	}
2406
2407	#bestsellers .wf-marketing-product {
2408		text-align: center;
2409		padding: 20px 16px;
2410		border: 1px solid #e2e4e8;
2411		border-radius: 6px;
2412		background: #fff;
2413		box-sizing: border-box;
2414	}
2415
2416	#bestsellers .wf-marketing-product .headline {
2417		float: none;
2418		display: block;
2419		width: 100%;
2420		margin: 0 0 12px;
2421		font-size: 18px;
2422	}
2423
2424	#bestsellers .wf-marketing-product img.prod-img {
2425		display: block;
2426		max-height: 150px;
2427		max-width: 100%;
2428		width: auto;
2429		height: auto;
2430		object-fit: contain;
2431		margin: 0 auto 12px;
2432	}
2433
2434	#bestsellers .wf-marketing-product h4 {
2435		margin: 0 0 4px;
2436		font-size: 16px;
2437		color: #04173f;
2438	}
2439
2440	#bestsellers .wf-marketing-product .tagline {
2441		display: block;
2442		font-style: italic;
2443		font-size: 11px;
2444		color: #888;
2445		margin-bottom: 12px;
2446	}
2447
2448	#bestsellers .product-list-desc p {
2449		font-size: 13px;
2450		color: #666;
2451		line-height: 1.45;
2452		margin: 0 0 12px;
2453	}
2454
2455	#bestsellers .product-list-desc a {
2456		color: #04173f;
2457		font-weight: 600;
2458		text-decoration: none;
2459	}
2460
2461	#bestsellers .product-list-desc a:hover {
2462		text-decoration: underline;
2463	}
2464
2465	@media only screen and (min-width: 600px) {
2466		#bestsellers .wf-marketing-products-grid {
2467			grid-template-columns: repeat(2, minmax(0, 1fr));
2468		}
2469	}
2470
2471	@media only screen and (min-width: 992px) {
2472		#bestsellers {
2473			padding: 0 24px;
2474		}
2475
2476		#bestsellers .wf-marketing-products-grid {
2477			grid-template-columns: repeat(3, minmax(0, 1fr));
2478			gap: 24px;
2479		}
2480	}
2481</style>
2482
2483<!-- BEST SELLERS
2484================================================== -->
2485<div id="bestsellers">
2486	<hr class="wf-marketing-products-divider">
2487	<div class="wf-marketing-products-grid">
2488		<!-- WeatherFile Systems -->
2489		<div class="wf-marketing-product">
2490
2491			<!-- Headline -->
2492			<h3 class="headline" data-i18n="marketing.products_internet_connected">Internet connected</h3>
2493			<img class="lazyload prod-img" data-src="../images/products/internet-connected.png" alt="WeatherFile Systems" data-i18n="marketing.products_weatherfile_alt" data-i18n-attr="alt" />
2494			<h4>WeatherFile.com</h4><span class="tagline" data-i18n="marketing.products_weatherfile_tagline">Display | Alarm | Notify</span>
2495			<div class="product-list-desc">
2496				<p data-i18n="marketing.products_weatherfile_desc">The WeatherFile systems offer the ultimate solution for live wind and weather monitoring.</p>
2497				<a href="https://r-p-r.co.uk/pages/weatherfile" data-i18n="marketing.products_learn_more">Learn more &raquo;</a>
2498			</div>
2499		</div>
2500
2501		<!-- Temporary Structures -->
2502		<div class="wf-marketing-product">
2503			<!-- Headline -->
2504			<h3 class="headline" data-i18n="marketing.products_iot_sensors">IoT Sensors</h3>
2505			<img class="lazyload prod-img" data-src="../images/products/iotsensors.png" alt="WeatherFile Systems" data-i18n="marketing.products_iot_alt" data-i18n-attr="alt" />
2506			<h4>rpr-IoT</h4><span class="tagline" data-i18n="marketing.products_iot_tagline">Long range solutions</span>
2507			<div class="product-list-desc">
2508				<p data-i18n="marketing.products_iot_desc">rpr-IoT sensor nodes are LoRaWAN compatible class A devices which ensure secure interoperability between the sensor node, gateways and the cloud.</p>
2509				<a href="https://r-p-r.co.uk/pages/rpr-iot-1" data-i18n="marketing.products_learn_more">Learn more &raquo;</a>
2510			</div>
2511		</div>
2512
2513		<div class="wf-marketing-product">
2514
2515			<!-- Headline -->
2516			<h3 class="headline" data-i18n="marketing.products_handheld">Handheld Weather monitoring</h3>
2517			<img class="lazyload prod-img" data-src="../images/products/kestrel-handheld.png" alt="Kestrel Handheld weather monitoring" data-i18n="marketing.products_kestrel_alt" data-i18n-attr="alt" />
2518			<h4>Kestrel Handheld</h4><span class="tagline" data-i18n="marketing.products_kestrel_tagline">Weather monitoring</span>
2519			<div class="product-list-desc">
2520				<p data-i18n="marketing.products_kestrel_desc">Kestrel handheld anemometers are a cost-effective way of taking instant wind readings. They are rugged, reliable and easy to use.</p>
2521				<a href="https://r-p-r.co.uk/" data-i18n="marketing.products_learn_more">Learn more &raquo;</a>
2522			</div>
2523		</div>
2524	</div>
2525</div>
2526
2527
2528<!-- GOOGLE MARKUP FOR SOCIALS -->
2529<script type="application/ld+json">
2530	{
2531		"@context": "https://schema.org",
2532		"@type": "Organization",
2533		"name": "Richard Paul Russell Ltd",
2534		"description": "Watch &amp; monitor weather with Wind Systems, Anemometers, Kestrel Hand-Held Meters, Data Loggers &amp; full range of accessories.",
2535		"url": "http://r-p-r.co.uk",
2536		"sameAs": "https://richardpaulrussell.wordpress.com/",
2537		"logo": "https://www.r-p-r.co.uk/images/rprnews.png",
2538		"contactPoint": [{
2539			"@type": "ContactPoint",
2540			"telephone": "+44 (0) 1590 641223",
2541			"contactType": "Customer Service"
2542		}],
2543		"address": [{
2544			"@type": "PostalAddress",
2545			"streetAddress": "The Lodge, Unit 1 Barnes Farm Business Park, Barnes Lane",
2546			"addressLocality": "Milford on Sea",
2547			"addressRegion": "Hampshire",
2548			"postalCode": "SO41 0AP"
2549		}]
2550	}
2551</script>
2551
2552
2553<div class="clearfix"></div>            <div class="clearfix"></div>
2554
2555        </div> <!-- Wrapper end -->
2556
2557        <style>
2558	#footer {
2559		padding: 32px 0 36px;
2560	}
2561
2562	#footer .wf-footer-main {
2563		max-width: 1200px;
2564		margin: 0 auto;
2565		padding: 0 16px;
2566		box-sizing: border-box;
2567	}
2568
2569	#footer .wf-footer-grid {
2570		display: grid;
2571		grid-template-columns: 1fr;
2572		gap: 28px;
2573	}
2574
2575	#footer .wf-footer-brand img {
2576		display: block;
2577		max-width: 100%;
2578		height: auto;
2579		margin-top: 4px;
2580	}
2581
2582	#footer .wf-footer-brand p {
2583		margin: 16px 0 0;
2584		font-size: 14px;
2585		line-height: 1.55;
2586	}
2587
2588	#footer .wf-footer-brand a {
2589		color: #fff;
2590	}
2591
2592	#footer .wf-footer-col .headline.footer {
2593		float: none;
2594		display: block;
2595		width: 100%;
2596		margin: 0 0 10px;
2597		font-size: 16px;
2598		background: transparent;
2599		padding-right: 0;
2600	}
2601
2602	#footer .wf-footer-col .line {
2603		display: block;
2604		float: none;
2605		width: 100%;
2606		margin: 0 0 14px;
2607		border-bottom: 1px solid #747474;
2608		height: 0;
2609	}
2610
2611	#footer .wf-footer-col .clearfix {
2612		display: none;
2613	}
2614
2615	#footer .footer-links {
2616		margin: 0;
2617		padding: 0;
2618		list-style: none;
2619	}
2620
2621	#footer .footer-links li {
2622		display: flex;
2623		align-items: flex-start;
2624		margin: 0;
2625	}
2626
2627	#footer .footer-links li:before {
2628		font-family: FontAwesome;
2629		font-size: 12px;
2630		content: "\f0da";
2631		flex: 0 0 auto;
2632		line-height: 1.35;
2633		padding: 6px 7px 0 0;
2634		color: #fff;
2635		position: static;
2636	}
2637
2638	#footer .footer-links li a {
2639		display: inline-block;
2640		flex: 1 1 auto;
2641		min-width: 0;
2642		padding: 6px 0;
2643		font-size: 14px;
2644		line-height: 1.35;
2645		color: #fff;
2646		text-decoration: none;
2647		transition: padding-left 0.2s ease-in-out;
2648	}
2649
2650	#footer .footer-links li a:hover {
2651		padding-left: 3px;
2652		color: #fff !important;
2653		text-decoration: underline;
2654	}
2655
2656	#footer-bottom {
2657		padding: 16px 0 20px;
2658		background: #000060;
2659	}
2660
2661	#footer-bottom .wf-footer-main {
2662		max-width: 1200px;
2663		margin: 0 auto;
2664		padding: 0 16px;
2665		box-sizing: border-box;
2666	}
2667
2668	#footer-bottom .wf-footer-legal-row {
2669		display: flex;
2670		flex-direction: column;
2671		align-items: flex-start;
2672		gap: 16px;
2673	}
2674
2675	#footer-bottom .wf-footer-copyright {
2676		font-size: 12px;
2677		line-height: 1.5;
2678	}
2679
2680	#footer-bottom .payment-icons {
2681		float: none;
2682		position: static;
2683		display: flex;
2684		flex-wrap: wrap;
2685		align-items: center;
2686		gap: 8px;
2687		margin: 0;
2688		padding: 0;
2689		list-style: none;
2690	}
2691
2692	#footer-bottom .payment-icons li {
2693		float: none;
2694		display: flex;
2695		align-items: center;
2696		margin: 0;
2697	}
2698
2699	#footer-bottom .payment-icons li img {
2700		display: block;
2701		height: 32px;
2702		width: auto;
2703		margin: 0;
2704		padding: 1px;
2705	}
2706
2707	#footer-bottom .wf-footer-disclaimer {
2708		margin-top: 16px;
2709		padding-top: 16px;
2710		border-top: 1px solid rgba(255, 255, 255, 0.15);
2711		font-size: 11px;
2712		font-style: italic;
2713		font-weight: 200;
2714		line-height: 1.45;
2715	}
2716
2717	#footer-bottom .wf-footer-disclaimer strong {
2718		font-weight: bold;
2719	}
2720
2721	@media only screen and (min-width: 600px) {
2722		#footer .wf-footer-grid {
2723			grid-template-columns: repeat(2, minmax(0, 1fr));
2724		}
2725
2726		#footer .wf-footer-brand {
2727			grid-column: 1 / -1;
2728		}
2729	}
2730
2731	@media only screen and (min-width: 992px) {
2732		#footer {
2733			padding: 40px 0 44px;
2734		}
2735
2736		#footer .wf-footer-main,
2737		#footer-bottom .wf-footer-main {
2738			padding: 0 24px;
2739		}
2740
2741		#footer .wf-footer-grid {
2742			grid-template-columns: minmax(0, 1.1fr) repeat(3, minmax(0, 1fr));
2743			gap: 32px;
2744		}
2745
2746		#footer .wf-footer-brand {
2747			grid-column: auto;
2748		}
2749
2750		#footer-bottom .wf-footer-legal-row {
2751			flex-direction: row;
2752			align-items: center;
2753			justify-content: space-between;
2754		}
2755
2756		#footer-bottom .payment-icons {
2757			justify-content: flex-end;
2758			flex: 0 1 auto;
2759		}
2760	}
2761</style>
2762
2763<!-- Footer
2764================================================== -->
2765<div id="footer">
2766
2767	<div class="wf-footer-main">
2768		<div class="wf-footer-grid">
2769			<div class="wf-footer-brand">
2770				<a href="https://r-p-r.co.uk" target="_blank" rel="noopener"><img src="/images/rprfooter.png" alt="Richard Paul Russell" border="0" /></a>
2771				<p>
2772					Richard Paul Russell Ltd<br />
2773					The Lodge<br />Unit 1 Barnes Farm Business Park<br />
2774					Barnes Lane, Milford on Sea<br />
2775					SO41 0AP<br />
2776					Tel: <a href="tel:+441590641223">+44 (0) 1590 641223</a>
2777				</p>
2778			</div>
2779
2780			<div class="wf-footer-col">
2781				<h3 class="headline footer" data-i18n="footer.customer_service">Customer Service</h3>
2782				<span class="line"></span>
2783
2784				<ul class="footer-links">
2785					<li><a href="https://r-p-r.co.uk/pages/timeline" target="_blank" rel="noopener" data-i18n="footer.about_us">About Us</a></li>
2786					<li><a href="https://r-p-r.co.uk/pages/contact" target="_blank" rel="noopener" data-i18n="footer.contact_us">Contact Us</a></li>
2787					<li><a href="https://r-p-r.co.uk/collections/all" target="_blank" rel="noopener" data-i18n="footer.shop">Shop</a></li>
2788					<li><a href="https://r-p-r.co.uk/policies/terms-of-service" target="_blank" rel="noopener" data-i18n="footer.terms">Terms & Conditions</a></li>
2789					<li><a href="https://r-p-r.co.uk/policies/shipping-policy" target="_blank" rel="noopener" data-i18n="footer.shipping">Shipping &amp; Handling</a></li>
2790					<li><a href="https://r-p-r.co.uk/policies/refund-policy" target="_blank" rel="noopener" data-i18n="footer.returns">Returns Period</a></li>
2791					<li><a href="https://r-p-r.co.uk/policies/privacy-policy" target="_blank" rel="noopener" data-i18n="footer.privacy">Privacy Policy</a></li>
2792					<li><a href="/cookies" data-i18n="footer.cookie_policy">Cookie policy</a></li>
2793					<li><a href="javascript:void(0)" onclick="if(window.WFConsent){WFConsent.showPreferences();}" data-i18n="footer.cookie_settings">Cookie settings</a></li>
2794					<!-- <li><a href="https://r-p-r.co.uk/privacy.php#ethical" target="_blank" rel="noopener">Ethical Trading</a></li> -->
2795					<li><a href="/widget/hub/index.html" target="_blank" rel="noopener" title="Embeddable weather data for your website" data-i18n="footer.embeddable_widgets" onfocus="this.href=window.location.origin+'/widget/hub/index.html'" onmousedown="this.href=window.location.origin+'/widget/hub/index.html'">Embeddable widgets</a></li>
2796					<li><a href="/widget/terms/index.html" target="_blank" rel="noopener" data-i18n="footer.widget_terms" onfocus="this.href=window.location.origin+'/widget/terms/index.html'" onmousedown="this.href=window.location.origin+'/widget/terms/index.html'">Widget terms of use</a></li>
2797					<li><a href="https://r-p-r.co.uk/pages/weee-compliance-statement" target="_blank" rel="noopener" data-i18n="footer.weee">WEEE Statement</a></li>
2798				</ul>
2799			</div>
2800
2801			<div class="wf-footer-col">
2802				<h3 class="headline footer" data-i18n="footer.technical_support">Technical Support</h3>
2803				<span class="line"></span>
2804
2805				<ul class="footer-links">
2806					<li><a href="https://r-p-r.co.uk/pages/beaufort-scale" target="_blank" rel="noopener" data-i18n="footer.beaufort">What is the Beaufort Scale?</a></li>
2807					<li><a href="https://r-p-r.co.uk/pages/heat-index" target="_blank" rel="noopener" data-i18n="footer.heat_index">What Is Heat Index?</a></li>
2808					<li><a href="https://r-p-r.co.uk/pages/wind-chill" target="_blank" rel="noopener" data-i18n="footer.wind_chill">Wind Chill Explained</a></li>
2809					<li><a href="https://r-p-r.co.uk/pages/kestrel-software-downloads" target="_blank" rel="noopener" data-i18n="footer.kestrel_software">
2809Kestrel Software &amp; Downloads</a></li>
2810					<!-- <li><a href="https://r-p-r.co.uk/kestrel/kestrel_register.php" target="_blank" rel="noopener">Register Kestrel Products</a></li> -->
2811				</ul>
2812			</div>
2813
2814			<div class="wf-footer-col">
2815				<h3 class="headline footer" data-i18n="footer.weather_systems">Weather Systems</h3>
2816				<span class="line"></span>
2817
2818				<ul class="footer-links">
2819					<li><a href="https://r-p-r.co.uk/pages/tower-crane-construction-site-weather-systems" target="_blank" rel="noopener" data-i18n="footer.crane_construction">Crane & Construction</a></li>
2820					<li><a href="https://r-p-r.co.uk/pages/weather-systems-temporary-structures" target="_blank" rel="noopener" data-i18n="footer.temporary_structures">Temporary Structures</a></li>
2821					<li><a href="https://r-p-r.co.uk/pages/weather-systems-temporary-structures#" target="_blank" rel="noopener" data-i18n="footer.remote_stations">Remote Weather Stations</a></li>
2822					<li><a href="https://r-p-r.co.uk/pages/weather-systems-temporary-structures#" target="_blank" rel="noopener" data-i18n="footer.metbouy">Metbouy (On Water)</a></li>
2823					<li><a href="https://r-p-r.co.uk/pages/weather-systems-temporary-structures#" target="_blank" rel="noopener" data-i18n="footer.pro_race_officer">Pro Race Officer (Sailing)</a></li>
2824					<li><a href="https://r-p-r.co.uk/pages/weather-systems-temporary-structures#" target="_blank" rel="noopener" data-i18n="footer.plumecast">Plumecast</a></li>
2825				</ul>
2826			</div>
2827
2828			<div class="wf-footer-col superadmin_only" style="display:none;" aria-hidden="true">
2829				<h3 class="headline footer" data-i18n="footer.internal_operations">Internal operations</h3>
2830				<span class="line"></span>
2831				<ul class="footer-links">
2832					<li><a href="#" onclick="event.preventDefault(); window.open(window.location.origin + '/display-processor/builder/index.html', '_blank');" data-i18n="footer.display_processor_builder">Display processor builder</a></li>
2833					<li><a href="#" onclick="event.preventDefault(); window.open(window.location.origin + '/widget/builder/weather-metrics/index.html', '_blank');" data-i18n="footer.weather_metrics_builder">WeatherMetrics builder</a></li>
2834					<li><a href="#" onclick="event.preventDefault(); window.open(window.location.origin + '/widget/builder/wind-dial/index.html', '_blank');" data-i18n="footer.wind_dial_builder">Wind dial builder</a></li>
2835					<li><a href="#" onclick="event.preventDefault(); window.open(window.location.origin + '/widget/builder/graph-widget/index.html', '_blank');" data-i18n="footer.graph_widget_builder">Graph widget builder</a></li>
2836				</ul>
2837			</div>
2838		</div>
2839	</div>
2840
2841</div>
2842
2843<div id="footer-bottom">
2844
2845	<div class="wf-footer-main">
2846		<div class="wf-footer-legal-row">
2847			<div class="wf-footer-copyright">
2848				WeatherFile 2.6.3 &copy; Copyright 2008-2026. Registered in England<br />
2849				Company registration number 2746689. VAT no. GB580260358
2850			</div>
2851			<ul class="payment-icons">
2852				<li>
2852<script type="text/javascript" src="https://sealserver.trustwave.com/seal.js?style=invert&size=65x36&code=a8bcbf10fe734e4b906e14a74810198c"></script>
2852</li>
2853				<li><img class="lazyload" data-src="/images/footer/american_express.png" alt="American Express" /></li>
2854				<li><img class="lazyload" data-src="/images/footer/visa_card.png" alt="Visa" /></li>
2855				<li><img class="lazyload" data-src="/images/footer/master_card.png" alt="Mastercard" /></li>
2856				<li><img class="lazyload" data-src="/images/footer/android_pay_network_token_visa.png" alt="Android Pay" /></li>
2857				<li><img class="lazyload" data-src="/images/footer/paypal_account.png" alt="PayPal" /></li>
2858			</ul>
2859		</div>
2860
2861		<div class="wf-footer-disclaimer">
2862			<strong data-i18n="footer.disclaimer">Disclaimer</strong>: <span data-i18n="footer.disclaimer_body" data-i18n-attr="html">The wind data displayed on this web site is for information purposes only and does not varitute professional or other advice.<br />
2863			The owners of the equipment, sponsors or Richard Paul Russell Ltd assumes no responsibility for information contained on the website or for any loss which may arise (directly or indirectly) from reliance on the information.<br />
2864			The links that exit from this site are provided only as a convenience, and the inclusion of a link does not imply any endorsement of the site linked to by the owners of the equipment, sponsors or Richard Paul Russell Ltd.</span>
2865		</div>
2866	</div>
2867
2868</div>
2869
2870<div id="backtotop"><a href="javascript:void(0)"></a></div>
2871
2872<script async type="text/javascript" src="/js/vendor/lazyload.min.js"></script>
vendor: 1 bytes, line 2872
2872
2873<script>
2874window.addEventListener("load", function(event) {
2875    let images = document.querySelectorAll("[data-src]");
2876    let lazy = lazyload(images, {"src": "data-src"});
2877});
2878</script>
2878
2879
2880<!-- Analytics loaded only after consent (see /js/wf/consent.js) -->
2881<script>
2882if (window.WFConsent) {
2883    WFConsent.loadAnalyticsIfAllowed();
2884}
2885</script>
2885
2886
2887</body>
2888</html>    </div>

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.