PageSourceSearch

https://online.sunwater.com.au/CustomLogin.aspx

html sunwater.com.au collected 2026-10-02 10:47:38 UTC 18,230 bytes, 480 lines download raw bytes

1
2
3<!DOCTYPE html>
4<html xmlns="http://www.w3.org/1999/xhtml">
5<head><title>
6	Sunwater Online
7</title><meta name="viewport" content="width=device-width, initial-scale=1.0" />
8    <style>
9        @font-face {
10            font-family: 'Rubik';
11            font-style: normal;
12            font-weight: 300 700;
13            font-display: swap;
14            src: url('css/fonts/rubik-latin.woff2') format('woff2');
15        }
16
17        * {
18            margin: 0;
19            padding: 0;
20            box-sizing: border-box;
21        }
22
23        body {
24            font-family: 'Rubik', sans-serif;
25            font-size: 76%;
26            background: #ebeff3;
27            color: #02355e;
28            min-height: 100vh;
29        }
30
31        a {
32            color: #02355e;
33            text-decoration: underline;
34        }
35
36        a:hover {
37            text-decoration: none;
38        }
39
40        /* Centered container matching old 960px layout */
41        .login-container {
42            width: 960px;
43            margin: 14px auto 0 auto;
44            border: 1px solid #cdcdcd;
45            background: #fff;
46            position: relative;
47        }
48
49        /* Header */
50        .login-header {
51            background: #031E2F;
52            padding: 8px 20px 0 20px;
53            position: relative;
54        }
55
56        .login-header-top {
57            display: flex;
58            align-items: flex-start;
59            justify-content: space-between;
60        }
61
62        .login-brand {
63            display: flex;
64            flex-direction: column;
65        }
66
67        #logo {
68            height: 80px;
69        }
70
71        #logo a {
72            display: block;
73            width: 200px;
74            height: 80px;
75            background: url('https://www.sunwater.com.au/wp-content/themes/sunwater/images/Sunwater_Logo_New.png') no-repeat left center;
76            background-size: contain;
77            text-indent: -9999px;
78            overflow: hidden;
79        }
80
81        .login-brand-sub {
82            color: #ffffff;
83            font-size: 15px;
84            margin-top: 2px;
85            margin-bottom: 16px;
86            font-style: normal;
87            font-weight: normal;
88        }
89
90        .login-header-links {
91            padding-top: 8px;
92        }
93
94        .login-header-links a {
95            color: #ffffff;
96            text-decoration: underline;
97            font-size: 1em;
98            font-weight: bold;
99            padding: 0 10px;
100        }
101
102        .login-header-links a:hover {
103            text-decoration: none;
104        }
105
106        .login-header-links .sep {
107            color: #ffffff;
108        }
109
110        .login-header-links a.highlight {
111            color: #00B0CA;
112        }
113
114        /* Nav tabs */
115        .login-nav {
116            padding: 10px 0 12px 20px;
117        }
118
119        .login-nav a {
120            display: inline-block;
121            color: #00B0CA;
122            text-decoration: none;
123            font-size: 18px;
124            font-weight: bold;
125            padding: 6px 12px;
126            margin-right: 8px;
127        }
128
129        .login-nav a:first-child {
130            padding-left: 0;
131        }
132
133        .login-nav a:hover {
134            text-decoration: underline;
135        }
136
137        /* Content area */
138        .login-body {
139            padding: 20px 30px 30px 30px;
140        }
141
142        .login-terms h3 {
143            font-size: 1.5em;
144            font-weight: bold;
145            color: #02355e;
146            margin-bottom: 10px;
147        }
148
149        .login-terms p {
150            font-size: 1.1em;
151            color: #333;
152            line-height: 1.6;
153            margin-bottom: 8px;
154        }
155
156        .login-terms a {
157            color: #02355e;
158            text-decoration: underline;
159        }
160
161        .login-terms a:hover {
162            text-decoration: none;
163        }
164
165        .login-form-area {
166            margin-top: 20px;
167        }
168
169        /* Footer */
170        .login-footer {
171            width: 960px;
172            margin: 30px auto 20px auto;
173            text-align: center;
174            padding: 16px 0;
175            border-top: 1px solid #cdcdcd;
176            color: #6b8bad;
177            font-size: 1.1em;
178        }
179
180        .login-footer a {
181            color: #00B0CA;
182            text-decoration: none;
183            margin: 0 6px;
184        }
185
186        .login-footer a:hover {
187            text-decoration: underline;
188        }
189
190        .login-footer .sep {
191            color: #cdcdcd;
192            margin: 0 4px;
193        }
194
195        /* Responsive: shrink container on small screens */
196        @media (max-width: 980px) {
197            .login-container,
198            .login-footer {
199                width: auto;
200                margin-left: 10px;
201                margin-right: 10px;
202            }
203        }
204    </style>
205</head>
206<body>
207    <form method="post" action="./CustomLogin.aspx" id="form1">
208<div class="aspNetHidden">
209<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
210<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
211<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="DTrathlrRxhI2DRK/1FLc6Vrfsx33B9YAYE87RzTVplwgKSEJ/iYAUFSRHluK5K
211FS4xxGgSf/PDCZZQZ3iX0jcE8N8dVYlTUK7iEHVakIAvVgrgQ6fSKIVdjVnzb/GNn5JYCS9fVKcEdcSb/r0NR9Yj6jIH4sRZeWVL/2njl1rPTtLGFLyXBtAmx+T33c+nPRhQtkQU43u/+N7hY66ByXcHwcizWK18FQCrv2kSFqQMQ7aHGicxM/nKBHm1UONFDl5V39MMvsb+sIaG9" />
212</div>
213
214<script type="text/javascript">
215//<![CDATA[
216var theForm = document.forms['form1'];
217if (!theForm) {
218    theForm = document.form1;
219}
220function __doPostBack(eventTarget, eventArgument) {
221    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
222        theForm.__EVENTTARGET.value = eventTarget;
223        theForm.__EVENTARGUMENT.value = eventArgument;
224        theForm.submit();
225    }
226}
227//]]>
228</script>
228
229
230
231<script src="/WebResource.axd?d=pynGkmcFUV1YC1KL-6LtK2OX7WkI0pKBRVf1AI5JAw1kGykXgu5VV4d-xfg1&amp;t=639190879820000000" type="text/javascript"></script>
231
232
233
234<script src="/ScriptResource.axd?d=D9drwtSJ4hDq5Fzf44HLZRnwnfJKk5nfKaYABJ1omf0G6CdW6ojlqmuAUfrGPWpGEJTVx5G9GW3JfvWnN9uLnbm3Ckpfxl0OdW_9MdGydgpbwkCUPSN033XwJPfvXbUL6y_CAae1S3olp0Jl0&amp;t=3e3fe94" type="text/javascript"></script>
vendor: 2 bytes, line 234
234
235<script type="text/javascript">
236//<![CDATA[
237if (typeof(Sys) === 'undefined') throw new Error('ASP.NET Ajax client-side framework failed to load.');
238//]]>
239</script>
239
240
241<script src="/ScriptResource.axd?d=JnUc-DEDOM4Fu4_U1PXF1idimhX0pDjRM4eoZTSCMQ1uhIwAcUACOLFQPRfxnMeRGiR_DzKmK7GeGMGenq7WmrTqgoBMUsi9Ex-W_8lnTJlI4ariv3u4L0KR7FwS9tiDL4N1kE8kXPzoxs1z2SHtoHidIQ81&amp;t=3e3fe94" type="text/javascript"></script>
241
242<div class="aspNetHidden">
243
244	<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="6C524DEB" />
245	<input type="hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="" />
246	<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="C/N7u9dC9BDON2rtyHTP/oj0QkXmXewaWT7Q07fGSRRCYJRvx1NBRzM6sj2FcWdvA5NnqSeJlq4Mi17gMvioLdp4y/QQhJmxXXtxfgI71rtxgqijNBvmyJXPlmrgNacj6MxLFwNhp96yINZ1dx9T03+ZDgI=" />
247</div>
248        
248<script type="text/javascript">
249//<![CDATA[
250Sys.WebForms.PageRequestManager._initialize('ScriptManager1', 'form1', [], [], [], 90, '');
251//]]>
252</script>
252
253
254
255        <div class="login-container">
256            <div class="login-header">
257                <div class="login-header-top">
258                    <div class="login-brand">
259                        <div id="logo"><a href="http://www.sunwater.com.au" title="Sunwater Home">Sunwater</a></div>
260                        <div class="login-brand-sub">Sunwater Online</div>
261                    </div>
262                    <div class="login-header-links">
263                        <a href="https://www.sunwater.com.au/about/contact/" target="_blank">Contact Us</a>
264                        <span class="sep">|</span>
265                        <a href="https://www.sunwater.com.au/customer/managing-your-account/" target="_blank" class="highlight">HELP</a>
266                        <span class="sep">|</span>
267                        <a href="https://www.sunwater.com.au" target="_blank">Home</a>
268                    </div>
269                </div>
270                <div class="login-nav">
271                    <a href="/CustomLogin.aspx">Login</a>
272                    <a href="/ForgotPassword.aspx">Forgot Password</a>
273                </div>
274            </div>
275
276            <div class="login-body">
277                <div class="login-terms">
278                    <h3>Login</h3>
279                    <p>Please note that by logging into Sunwater Online you are agreeing to the terms and conditions relating to its use. You can read the terms and conditions <a href="http://www.sunwater.com.au/schemes/sunwateronline/terms-and-conditions" target="_blank">here.</a></p>
280                    <p>Please also note that Sunwater collects and uses your personal information to provide you with our products and services, to enable us to fulfil our obligations under any contract with you, for our business operations and to comply with the law. <a href="http://www.sunwater.com.au/home/privacy" target="_blank">Our Privacy Policy</a> tells you how we usually collect, use and disclose your personal information and how you can ask for access to it or seek correction of it. Our Privacy Policy also contains information about how you can make a complaint and how we will deal with such a complaint.</p>
281                    <p>If you would like further information about our privacy policies or practices, please contact our Privacy Contact Officer by email: <a href="mailto:[email protected]">[email protected]</a> or other contact details can be found in our Privacy Policy.</p>
282                </div>
283
284                <div class="login-form-area">
285                    
286
287<script src="https://cdn.tailwindcss.com"></script>
vendor: 2 bytes, line 287
287
288<script>
289    tailwind.config = {
290        theme: {
291            extend: {
292                colors: {
293                    primary: '#00B0CA',
294                    secondary: '#031E2F'
295                }
296            }
297        }
298    }
299</script>
299
300
301<style>
302    /* Override DNN page styles - only when rendered inside DNN's #Form (not CustomLogin.aspx) */
303    #Form body {
304        overflow: hidden !important;
305    }
306    #Form {
307        position: fixed !important;
308        top: 0 !important;
309        left: 0 !important;
310        right: 0 !important;
311        bottom: 0 !important;
312        width: 100vw !important;
313        height: 100vh !important;
314        margin: 0 !important;
315        padding: 0 !important;
316        background: white !important;
317        z-index: 9999 !important;
318    }
319    /* Override page-level a underline for buttons */
320    .login-form-container a.no-underline {
321        text-decoration: none !important;
322    }
323    /* MFA channel radio buttons: space the label off the radio circle */
324    .mfa-channel-list label {
325        margin-left: 8px;
326        margin-right: 16px;
327    }
328    .mfa-channel-list input[type="radio"] {
329        vertical-align: middle;
330    }
331</style>
332
333<div class="login-form-container">
334    <div class="w-full max-w-lg space-y-6">
335        
336        <div id="customLogin_divLoginFields">
337        <!-- Error Message Display -->
338        
339        
340        <div class="space-y-4">
341            <!-- Login ID row: label beside input -->
342            <div class="grid grid-cols-[120px_1fr] items-center gap-x-4">
343                <label for="customLogin_txtUsername" id="customLogin_plUsername" class="text-sm font-bold text-gray-700 text-right">Login ID</label>
344                <input name="customLogin$txtUsername" type="text" id="customLogin_txtUsername" class="block w-full rounded-sm border border-gray-300 py-1.5 px-3 text-gray-900 focus:ring-2 focus:ring-inset focus:ring-[#00B0CA] sm:text-sm sm:leading-6" placeholder="" />
345            </div>
346            
347            <!-- Password row: label beside input -->
348            <div class="grid grid-cols-[120px_1fr] items-center gap-x-4">
349                <label for="customLogin_txtPassword" id="customLogin_plPassword" class="text-sm font-bold text-gray-700 text-right" resourcekey="Password">Password</label>
350                <input name="customLogin$txtPassword" type="password" id="customLogin_txtPassword" class="block w-full rounded-sm border border-gray-300 py-1.5 px-3 text-gray-900 focus:ring-2 focus:ring-inset focus:ring-[#00B0CA] sm:text-sm sm:leading-6" placeholder="" />
351            </div>
352            
353            
354            
355            <!-- MFA Channel Selection Section (shown when both email and SMS are available) -->
356            
357
358            <!-- MFA Verification Section (shown after credentials are validated) -->
359            
360            
361            
362            
363            
364            
365            <!-- Hidden: remember me and forgot password link (kept for functionality but not shown in main form) -->
366            <div style="display:none;">
367                <span resourcekey="Remember"><input id="customLogin_chkCookie" type="checkbox" name="customLogin$chkCookie" /></span>
368                <span id="customLogin_lblLoginRememberMe">Remember me</span>
369                <div id="customLogin_liPassword">
370                    <a id="customLogin_passwordLink" resourcekey="cmdPassword">Forgot password?</a>
371                </div>
372            </div>
373            
374            <!-- Buttons matching old page: LOGIN + FORGOT PASSWORD stacked -->
375            <div class="pt-4 space-y-3" style="max-width: 340px;">
376                <a id="customLogin_cmdLogin" class="flex w-full justify-center rounded-sm bg-[#00B0CA] px-3 py-3 text-sm font-bold uppercase tracking-wider text-white shadow-sm hover:bg-[#009AB3] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#00B0CA]" resourcekey="cmdLogin" href="javascript:__doPostBack(&#39;customLogin$cmdLogin&#39;,&#39;&#39;)">Sign in</a>
377                <a id="customLogin_forgotPasswordBtn" class="flex w-full justify-center rounded-sm bg-[#00B0CA] px-3 py-3 text-sm font-bold uppercase tracking-wider text-white shadow-sm hover:bg-[#009AB3] no-underline" href="/ForgotPassword.aspx">FORGOT PASSWORD</a>
378            </div>
379            
380            <!-- MFA actions (shown only during MFA verification) -->
381            
382        </div>
383        
384        
385        </div>
386        
387        <!-- Change Password Section -->
388        
389        
390        <div id="customLogin_divLogin"></div>
391        
392        
393    </div>
394</div>
395
396<script type="text/javascript">
397    // Vanilla JavaScript - No jQuery dependencies
398    (function () {
399        const disabledActionClass = "opacity-50 pointer-events-none";
400        
401        function isActionDisabled(el) {
402            return el && el.classList.contains('pointer-events-none');
403        }
404        
405        function disableAction(el) {
406            if (el == null || el.classList.contains('pointer-events-none')) {
407                return;
408            }
409            el.classList.add('opacity-50', 'pointer-events-none');
410        }
411        
412        function enableAction(el) {
413            if (el == null) {
414                return;
415            }
416            el.classList.remove('opacity-50', 'pointer-events-none');
417        }
418        
419        function setUpLogin() {
420            const actionLinks = document.querySelectorAll('a[id*="SunWaterCustom_Login"]');
421            actionLinks.forEach(function (action) {
422                action.addEventListener('click', function (e) {
423                    if (isActionDisabled(this)) {
424                        e.preventDefault();
425                        return false;
426                    }
427                    disableAction(this);
428                });
429            });
430        }
431    
432        document.addEventListener('DOMContentLoaded', function () {
433            // Handle Enter key in login form
434            document.addEventListener('keydown', function (e) {
435                if (e.target.matches('input[type="text"], input[type="password"]') && e.keyCode === 13) {
436                    const loginButton = document.getElementById('customLogin_cmdLogin');
437                    if (loginButton && !isActionDisabled(loginButton)) {
438                        disableAction(loginButton);
439                        setTimeout(function () {
440                            const href = loginButton.getAttribute('href');
441                            if (href) {
442                                eval(href);
443                            } else {
444                                loginButton.click();
445                            }
446                        }, 100);
447                        e.preventDefault();
448                        return false;
449                    }
450                }
451            });
452
453            setUpLogin();
454            
455            // Re-enable actions after postback (if using UpdatePanel)
456            if (typeof Sys !== 'undefined' && Sys.WebForms && Sys.WebForms.PageRequestManager) {
457                Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function () {
458                    const actionLinks = document.querySelectorAll('a[id*="SunWaterCustom_Login"]');
459                    actionLinks.forEach(enableAction);
460                    setUpLogin();
461                });
462            }
463        });
464    })();
465</script>
465
466
467                </div>
468            </div>
469        </div>
470
471        <div class="login-footer">
472            <div style="margin-bottom: 8px; color: #031E2F; font-style: italic;">Delivering water for prosperity</div>
473            &copy; Sunwater&nbsp;&nbsp;&nbsp;|
474            <a href="http://www.sunwater.com.au/home/privacy" target="_blank">Privacy</a> |
475            <a href="http://www.sunwater.com.au/about-sunwater/right-to-information" target="_blank">Right to Information</a> |
476            <a href="http://www.sunwater.com.au/home/terms-of-use" target="_blank">Terms of Use</a>
477        </div>
478    </form>
479</body>
480</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.