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 & weather data. From locations across UK, Ireland, South Africa, France & 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 & weather data. From locations across UK, Ireland, South Africa, France & 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 & weather data. From locations across UK, Ireland, South Africa, France & 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> <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 »" title="Back to Map »" 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> </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 »" title="Back to Map »" 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> • 436 <a href='/about' data-i18n="auth.terms">Terms & Conditions of Use</a> • 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 & Storage Policy</td> 455 <td style="border-bottom: 1px #ddd solid;" onclick="window.history.back();"><img alt="Close »" title="Close »" 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">© 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 »" title="Back to Map »" 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 </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 </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 </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 </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 </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 </td><td style="line-height:14px;">Copyright © 2026 Richard Paul Russell Ltd.</td></tr> 601 <tr><td style="line-height:14px;">2.2 </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;"> </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;"> </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 </td><td style="line-height:14px;">You may:</td></tr> 611 <tr><td style="line-height:14px;"> </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;"> </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;"> </td><td style="line-height:14px;">(c) print pages from our website;</td></tr> 614 <tr><td style="line-height:14px;"> </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 </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 </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 </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;"> </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;"> </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;"> </td><td style="line-height:14px;">(c) show any material from our website in public;</td></tr> 621 <tr><td style="line-height:14px;"> </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;"> </td><td style="line-height:14px;">(e) redistribute material from our website.</td></tr> 623 <tr><td style="line-height:14px;">3.5 </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 </td><td style="line-height:14px;">You must not:</td></tr> 631 <tr><td style="line-height:14px;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </td><td style="line-height:14px;">You must keep your password confidential.</td></tr> 668 <tr><td style="line-height:14px;">7.4 </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 </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 </td><td style="line-height:14px;">We may:</td></tr> 677 <tr><td style="line-height:14px;"> </td><td style="line-height:14px;">(a) suspend your account;</td></tr> 678 <tr><td style="line-height:14px;"> </td><td style="line-height:14px;">(b) cancel your account; and/or</td></tr> 679 <tr><td style="line-height:14px;"> </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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;"> </td><td style="line-height:14px;">(a) be libellous or maliciously false;</td></tr> 704 <tr><td style="line-height:14px;"> </td><td style="line-height:14px;">(b) be obscene or indecent;</td></tr> 705 <tr><td style="line-height:14px;"> </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;"> </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;"> </td><td style="line-height:14px;">(e) comprise negligent advice or contain any negligent statement;</td></tr> 708 <tr><td style="line-height:14px;"> </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;"> </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;"> </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;"> </td><td style="line-height:14px;">(i) be blasphemous;</td></tr> 712 <tr><td style="line-height:14px;"> </td><td style="line-height:14px;">(j) be in breach of official secrets legislation;</td></tr> 713 <tr><td style="line-height:14px;"> </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;"> </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;"> </td><td style="line-height:14px;">(m) be pornographic, lewd, suggestive or sexually explicit;</td></tr> 716 <tr><td style="line-height:14px;"> </td><td style="line-height:14px;">(n) be untrue, false, inaccurate or misleading;</td></tr> 717 <tr><td style="line-height:14px;"> </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;"> </td><td style="line-height:14px;">(p) commprise spam;</td></tr> 719 <tr><td style="line-height:14px;"> </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;"> </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 </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 </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 </td><td style="line-height:14px;">We do not warrant or represent:</td></tr> 736 <tr><td style="line-height:14px;"> </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;"> </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;"> </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 </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 </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 </td><td style="line-height:14px;">Nothing in these terms and conditions will:</td></tr> 748 <tr><td style="line-height:14px;"> </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;"> </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;"> </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;"> </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 </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;"> </td><td style="line-height:14px;">(a) are subject to Section 13.1; and</td></tr> 754 <tr><td style="line-height:14px;"> </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 </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 </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 </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 </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 </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 </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 </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;"> </td><td style="line-height:14px;">(a) send you one or more formal warnings;</td></tr> 769 <tr><td style="line-height:14px;"> </td><td style="line-height:14px;">(b) temporarily suspend your access to our website;</td></tr> 770 <tr><td style="line-height:14px;"> </td><td style="line-height:14px;">(c) permanently prohibit you from accessing our website;</td></tr> 771 <tr><td style="line-height:14px;"> </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;"> </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;"> </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;"> </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </td><td style="line-height:14px;">You can contact us:</td></tr> 842 <tr><td style="line-height:14px;"> </td><td style="line-height:14px;">(a) by post, using the postal address given above;</td></tr> 843 <tr><td style="line-height:14px;"> </td><td style="line-height:14px;">(b) using our website contact form;</td></tr> 844 <tr><td style="line-height:14px;"> </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 </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 </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 </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 © 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 »" title="Back to Map »" 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 »" title="Back to Settings »" 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 »" title="Close »" 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" /> <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" /> <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" /> <span data-i18n="metric.wind_speed">Wind Speed</span> </label> 1110 <label><input type="checkbox" onchange="saveWindDirectionDisplaySetting()" name="winddirection" /> <span data-i18n="metric.wind_direction">Wind Direction</span> </label> 1111 <label><input type="checkbox" onchange="saveTemperatureDisplaySetting()" name="temperature" /> <span data-i18n="metric.temperature">Temperature</span> </label> 1112 <label><input type="checkbox" onchange="saveDewpointDisplaySetting()" name="dewpoint" /> <span data-i18n="metric.dewpoint">Dewpoint</span> </label> 1113 <label><input type="checkbox" onchange="saveWindchillDisplaySetting()" name="windchill" /> <span data-i18n="metric.wind_chill">Wind chill</span> </label> 1114 <label><input type="checkbox" onchange="saveBgtDisplaySetting()" name="bgt" /> <span data-i18n="metric.bgt">BGT</span> </label> 1115 <label><input type="checkbox" onchange="savePressureDisplaySetting()" name="pressure" /> <span data-i18n="metric.pressure">Pressure</span> </label> 1116 <label><input type="checkbox" onchange="saveHumidityDisplaySetting()" name="humidity" /> <span data-i18n="metric.humidity">Humidity</span> </label> 1117 <label><input type="checkbox" onchange="saveRainfallDisplaySetting()" name="rainfall" /> <span data-i18n="metric.rainfall">Rainfall</span></label> 1118 <label><input type="checkbox" onchange="saveSolarDisplaySetting()" name="solar" /> <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 »" title="Back »" 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> <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> <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">×</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 & 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 »" title="Back »" 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…</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">☆</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 »" title="Back »" 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 & 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="« Earlier Data" title="« 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 »" title="New Data »"></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="« Earlier Data" title="« 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 »" title="New Data »"></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;"> </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 »</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 »</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 »</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 »</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 & monitor weather with Wind Systems, Anemometers, Kestrel Hand-Held Meters, Data Loggers & 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 & 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 & 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 © 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.