1 2 3 4<!DOCTYPE html> 5<html lang="en" prefix="og: http://ogp.me/ns#"> 6<head> 7
8<script> 9 var getParameterByName = function (name) { 10 name = name.replace(/[\[\]]/g, '\\$&'); 11 var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'); 12 var results = regex.exec(window.location.href); 13 if (!results) return ''; 14 if (!results[2]) return ''; 15 return decodeURIComponent(results[2].replace(/\+/g, ' ')); 16 }; 17 var _dataLayer = {}; 18 var storageKey = '_datalayer'; 19 // Check if session storage data layer already exists 20 if (!window.sessionStorage.getItem(storageKey)) { 21 // Check url for utm params 22 _dataLayer = { 23 userID: 'lgfm3n0sduijbfhlelyscxf5', 24 utmCampaign: getParameterByName('utm_campaign'), 25 utmContent: getParameterByName('utm_content'), 26 utmMedium: getParameterByName('utm_medium'), 27 utmSource: getParameterByName('utm_source'), 28 utmTerm: getParameterByName('utm_term'), 29 }; 30 // Write to session storage 31 window.sessionStorage.setItem(storageKey, JSON.stringify(_dataLayer)); 32 } else { 33 // Parse data and write to page 34 _dataLayer = JSON.parse(window.sessionStorage.getItem(storageKey)); 35 } 36 dataLayer = [{ 37 userID: _dataLayer.userID, 38 utmCampaign: _dataLayer.utmCampaign, 39 utmContent: _dataLayer.utmContent, 40 utmMedium: _dataLayer.utmMedium, 41 utmSource: _dataLayer.utmSource, 42 utmTerm: _dataLayer.utmTerm, 43 epiVersion: 'Production', 44 }]; 45</script>
45 46 <meta charset="utf-8" /> 47 <meta name="viewport" content="width=device-width, initial-scale=1" /> 48 <title>Americaâs #1 Retractable Awning | Retractable Screens | SunSetter</title> 49 <meta name="description" content="Instantly transform your outdoor space with SunSetterâs retractable awnings and screens. Choose total protection or full sun at the touch of a button. 50" /> 51 <meta name="keywords" /> 52 <meta property="og:type" content="website" /> 53 <meta property="og:site_name" content="SunSetter" /> 54 <meta property="og:title" content="Americaâs #1 Retractable Awning | Retractable Screens | SunSetter" /> 55 <meta property="og:description" content="Instantly transform your outdoor space with SunSetterâs retractable awnings and screens. Choose total protection or full sun at the touch of a button. 56" /> 57 <meta property="og:url" content="https://www.sunsetter.com/oc/ocloginnew/" /> 58 <meta property="og:image" content="https://embed.widencdn.net/img/springswindowfashions/1y2qhmzaip/1200x628px/SunSetter-WebAlt22-SemiMotor-WhiteFrame-Perf-VillaStripe.jpeg?keep=c&crop=yes&q=90" /> 59 <meta name="twitter:card" content="summary_large_image" /> 60 <meta name="twitter:site" content="SunSetter" /> 61 <meta name="twitter:image:alt" /> 62 63 64 <meta name="google-site-verification" content="uYMy76xH_ZqdeqV62KH3v8iJAAK3nrM5Q1vcV4ww_gc" /> 65 66 <link link rel="canonical" href="https://www.sunsetter.com/oc/ocloginnew/" /> 67 68 <link rel="preconnect" href="https://fonts.googleapis.com"> 69 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 70 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Roboto:ital,wght@0,400;0,700;1,400;1,700&display=swap" /> 71 <link rel="stylesheet" type="text/css" href="/assets/dist/css/vendors/bootstrap-grid.min.css?cache=04302026" /> 72 <link rel="stylesheet" type="text/css" href="/assets/dist/css/sunsetter.min.css?cache=04302026" /> 73 <link rel="stylesheet" type="text/css" href="/assets/src/css/site.css?cache=04302026" /> 74 <link href="/assets/src/css/cssite.css?cache=04302026" rel="stylesheet" type="text/css" /> 75 76
76<script src="https://cdn.optimizely.com/js/23982742137.js"></script>
76 77
77<script> 78 const OptimizelyStyleManager = { 79 set: (o, p, t, i, m) => { 80 if (typeof optimizely === 'undefined') return; 81 const u = new URLSearchParams(window.location.search), x = u.get('experiment-id'), v = u.get('variation-id'), 82 s = optimizely.get('state'), a = s.getActiveExperimentIds(), c = s.getVariationMap(); let f = false; 83 a.forEach(e => { 84 const r = c[o]; if (!r) return; const d = (x == o && v !== null) ? v : r.id; if (e == o && d == p) { 85 f = true; 86 const l = document.createElement('style'); l.type = 'text/css'; l.id = `oeid-${o}-${p}-${i}`; 87 l.textContent = `.oeid-${o}-${p}-${i}{display:${t};}`; document.head.appendChild(l); 88 } 89 }); 90 const q = !!document.querySelector('style[id^="oeid-"]'); 91 if (!f && m && !q) { 92 const l = document.createElement('style'); l.type = 'text/css'; l.id = `oeid-${o}-${p}-${i}`; 93 l.textContent = `.oeid-${o}-${p}-${i}{display:${t};}`; document.head.appendChild(l); 94 } 95 } 96 }; 97 </script>
97 98
98<script> 99 document.addEventListener('DOMContentLoaded', function () { 100 localStorage.removeItem("MetaDescription"); 101 localStorage.removeItem("MetaTitle"); 102 }); 103 </script>
103 104
104<script>
vendor: 428 bytes, lines 104-110
104 105 (function (i,s,o,g,r,a,m) { 106 i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments) } 107 , i[r].l = 1 * new Date(); a = s.createElement(o), 108 m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) 109 })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); 110 ga('create', '
110UA-29271223-8
vendor: 21 bytes, lines 110-111
110', 'auto'); 111
111ga('set', 'dimension5', 'B'); 112 ga('send', 'pageview'); 113 </script>
113 114
114<script>
vendor: 377 bytes, lines 114-119
114 115 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 116 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 117 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 118 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 119 })(window, document, 'script', 'dataLayer', '
119GTM-5WDD2KR
vendor: 9 bytes, lines 119-120
119'); 120
120</script>
120 121 122</head> 123<body class="app sunsetter page-site-settings"> 124 <style> 125 body { 126 background: white !important; 127 } 128 129 .more-details-btn { 130 border: 1px solid #0071b3; 131 font-size: 1.4rem; 132 font-family: "Inter", sans-serif; 133 font-style: normal; 134 font-weight: 700; 135 line-height: 1.25; 136 color: #0071b3; 137 border-radius: .4rem; 138 text-decoration: none; 139 padding: 1.1rem 2rem; 140 } 141 142 button:focus-visible { 143 outline: -webkit-focus-ring-color auto 5px; 144 outline-offset: 4px; 145 } 146 147 .visually-hidden { 148 clip-path: inset(50%); 149 height: 1px; 150 overflow: hidden; 151 position: absolute; 152 white-space: nowrap; 153 width: 1px; 154 } 155 </style>
vendor: 85 bytes, lines 155-158
155 156 157 <noscript> 158 <iframe src="https://www.googletagmanager.com/ns.html?id=
158GTM-5WDD2KR
vendor: 94 bytes, lines 158-160
158" height="0" width="0" style="display:none;visibility:hidden"></iframe> 159 </noscript> 160
160<a class="skip-to-main-content" id="skip2mainlnk" href="#content">Skip to main content</a> 161 162 <main id="content"> 163 164 165 166 167<style> 168 169 170 171 172 body { 173 font-family: Arial, sans-serif; 174 background: #ddd; 175 } 176 177 178 .ForgetModal { 179 display: none; 180 position: fixed; 181 top: 50%; 182 left: 50%; 183 transform: translate(-50%, -50%); 184 z-index: 2; 185 } 186 187 .demo { 188 position: fixed; 189 top: 50%; 190 left: 50%; 191 transform: translate(-50%, -50%); 192 z-index: 2; 193 } 194 195 .overlay { 196 display: none; 197 position: fixed; 198 top: 0; 199 left: 0; 200 width: 100%; 201 height: 100%; 202 background: rgba(0,58,112,0.65); 203 z-index: 1; 204 } 205 206 .tick-container { 207 208 position: relative; 209 width: 50px; 210 height: 50px; 211 } 212 213 .circle { 214 width: 100%; 215 height: 100%; 216 /* border: 3px solid #ccc;*/ 217 background-color: #ffc600; 218 border-radius: 50%; 219 } 220 221 .tick { 222 position: absolute; 223 width: 40%; 224 height: 80%; 225 border-bottom: 9px solid #01426a; 226 border-right: 9px solid #01426a; 227 transform: rotate(45deg); 228 top: 0%; 229 left: 40%; 230 } 231 .close-btnoc 232 233 { 234 -webkit-appearance: none; 235 -moz-appearance: none; 236 background-color: transparent; 237 border: 0; 238 cursor: pointer; 239 padding: 0; 240 background-image: url(/assets/dist/images/ui/icon-close-lg.svg); 241 background-position: center center; 242 background-repeat: no-repeat; 243 background-size: 50% 50%; 244 color: #fff; 245 height: 4rem; 246 position: absolute; 247 right: 0.7rem; 248 top: 0.7rem; 249 width: 4rem; 250 z-index: 2; 251 } 252</style> 253 254 255 256 257 258 259<form action="/oc/ocloginnew/" class="site-form free-swatches-form" method="post"><input name="__RequestVerificationToken" type="hidden" value="tpwIsl61-_7RGBeZr6ZVOxx4nyeQDivlyHCXTACNkaLA_ZveL-Cr4C9CQUn3USuVToeUbKbAl0h-GpZ2_JCiHMysFz5whiM2U7YPFadDwvo1" /> <div class="costco-privacy"> 260 <footer style="margin-top:-2rem;"> 261 <div class="container"> 262 263 <div style=" display: flex;align-items:center;justify-content:center;"> 264 265 <img width="178" height="72" alt="sunsetter-Owners-Corner-4c" src="https://embed.widencdn.net/img/springswindowfashions/zf4bigvd7q/250x100px/sunsetter-Owners-Corner-4c.jpeg?position=c&crop=no&color=ffffffff&quality=80&u=qgugoa"> 266 267 268 </div> 269 </div> <div class="copyright" style="height:30px;width:auto"> 270 </div> 271 272 273 </footer> 274 275 </div> 276 <div class="form-horizontal" style="margin:9rem 0rem 0rem 0rem;"> 277<form action="/oc/ocloginnew/" class="site-form free-swatches-form" method="post"> <div class="row oclrow "> 278 279 <div class=" col-xs-12 col-sm-12 col-md-4 col-lg-4"> 280 281 <h1 style="margin:7rem 0rem 0rem 1rem">Customer Login</h1> 282 <br /> 283 <div class="form-floating mb-4 "> 284 <input aria-describedby="EmailError" autocomplete="on" class="form-control" data-val="true" data-val-email="Invalid email format." data-val-required="Email is required." id="oclogin_0__Email" maxlength="100" name="oclogin[0].Email" placeholder="Email" type="text" value="" /> 285 <label for="oclogin_0__Email">Email</label> 286 <span class="field-validation-valid text-danger" data-valmsg-for="oclogin[0].Email" data-valmsg-replace="true" id="EmailError"></span> 287 </div> 288 289 <div class="form-floating mb-4" style="position: relative; "> 290 <input aria-describedby="PasswordError" autocomplete="on" class="form-control" data-val="true" data-val-minlength="Password must be at least 8 characters long." data-val-minlength-min="8" data-val-required="Password is required." id="passwordField" maxlength="100" name="oclogin[0].Password" placeholder="Password" type="password" value="" /> 291 <label for="oclogin_0__Password">Password</label>
292 <span class="field-validation-valid text-danger" data-valmsg-for="oclogin[0].Password" data-valmsg-replace="true" id="PasswordError"></span> <br /> 293 294 295 <div style="position: absolute; right: 30px; top: 27%; transform: translateY(-50%); color: dodgerblue; cursor: pointer;color:black" onclick="togglePasswordVisibility()">Show</div> 296 297 298 299 </div> 300 <button type="button" onclick="handlePopOneValue('1')" style="text-decoration: none; cursor: pointer; color:#0071b3; background: none; border: none; padding: 0; font: inherit;color:black">Forgot Password?</button> 301 302 <div style="text-align: left; margin-top: 10px "> 303 <input class="button-light-yellow-lg button-submit" type="submit" value="Login" onclick="removelocalStorage();" /> 304 </div> 305 <br /> 306 <p> 307 New to the SunSetter Family? <button type="button" onclick="handlePopOneValue('2')" style="text-decoration: none; cursor: pointer; color:#0071b3; background: none; border: none; padding: 0; font: inherit;">sign up now</button> 308 309 310 </p> 311 312 </div> 313 <div class=" col-xs-12 col-sm-12 col-md-8 col-lg-8 ocloginnew"> 314 <div> 315<div class="block contentcontainerblock "><div class="container lg-container mb-0 mt-0 ocnewlogin-block"> 316 <style> 317.oclcolor{ 318background-color: 319#01426a; 320} 321.oclp{font-size:16px;} 322.oclpp{ 323padding:20px 10px 20px 30px} 324 325.oclheader{ 326padding:20px 50px 50px 30px; 327font-size:35px; 328 font-weight: bold;} 329 330.oclwhite{color:white;} 331.oclli{ 332list-style-type: disc;margin-bottom: 10px} 333 334.imgmr{ 335margin-right:-30px;} 336 337@media screen and (max-width: 767px) { 338 339 .imgmr{ 340 margin-right: -15px; 341 } 342} 343</style> 344<div class="row loginborder mr"> 345<div class=" col-xs-12 col-sm-12 col-md-7 col-lg-7 oclcolor "> 346<div class="row"> 347<div class="oclwhite oclheader ">Welcome to SunSetter<br />Owner's Corner</div> 348</div> 349<ul class="oclpp "> 350<li class="oclwhite oclp oclli">Keep up to date on your order and shipping status</li> 351<li class="oclwhite oclp oclli">View Owner's Manual, Troubleshooting, Care & Maintenance, and other helpful information and videos regarding your SunSetter product</li> 352<li class="oclwhite oclp oclli">Review Frequently Asked Questions</li> 353<li class="oclwhite oclp oclli">Contact Customer Service directly to order replacement parts or fabric</li> 354</ul> 355<div class="row"> 356<h3 class="col-sm-12 oclwhite oclpp">Need Help? Contact Us</h3> 357<div class="col-sm-12 oclwhite oclp oclpp">Available M-F, 7:00 am - 4:00 pm CST <br />1-800-670-7071<br />[email protected]</div> 358</div> 359</div> 360<div class=" col-xs-12 col-sm-12 col-md-5 col-lg-5"> 361<div class="row imgmr "><img src="https://embed.widencdn.net/img/springswindowfashions/tstzulvzq0/377x200px/EasyShade%20Solar%20Shade%20KitchenNook%20Charcoal.jpeg?keep=c&crop=yes&quality=80&u=qgugoa" alt="EasyShade-Solar-Shade-KitchenNook-Charcoal" width="443" height="200" /></div> 362<div class="row imgmr "><img src="https://embed.widencdn.net/img/springswindowfashions/njla22ga4m/377x200px/SunSetter_Powerscreen_Inside-Out_BronzeFrame-BrownBlackFabric_0323.jpeg?keep=c&crop=yes&quality=80&u=qgugoa" alt="SunSetter_Powerscreen_Inside-Out_BronzeFrame-BrownBlackFabric_0323" width="443" height="200" /></div> 363<div class="row imgmr "><img src="https://embed.widencdn.net/img/springswindowfashions/jxyaohupea/377x200px/SunSetter-WebAlt22-SemiMotor-WhiteFrame-Perf-CoveStripe.jpeg?keep=c&crop=yes&quality=80&u=qgugoa" alt="SunSetter-WebAlt22-SemiMotor-WhiteFrame-Perf-CoveStripe" width="443" height="200" /></div> 364</div> 365</div> 366</div></div></div> 367 </div> 368 </div> 369</form> </div> 370</form> 371<div class="overlay"></div> 372<div id="forgotPasswordModal" class="ForgetModal"> 373<form action="/oc/ocloginnew/FORGOTPASSWORDINDEX/" class="site-form free-swatches-form" id="forgotPasswordForm" method="post"><input name="__RequestVerificationToken" type="hidden" value="2_77gLec2lseFJuV6o_eRl5MZipBJKyboedJjAMhwmbfMK51WdN8qqJZFdH0oKL_iKu5Es85vOLXfLPxUZE4qwtMTypze3ktWNjbFUo5Dms1" /> <div class="ForgotPasswordborder1"> 374 <div class="ForgotPasswordborder"> 375 <div class="form-horizontal"> 376 <img src="/globalassets/assets/images/ui/logo-sunsetter.svg" style="text-align: center;"> 377 <div> 378 <h2 style="color: #01426a; text-align: center;"> 379 Letâs reset your password. 380 </h2> 381 <br /> 382 <p style="text-align: center;"> 383 Please provide us with the email you used to<br /> 384 create your owner account. 385 </p> 386 <br /> 387 <div class="form-floating mb-4"> 388 <input aria-describedby="EmailError" autocomplete="on" class="form-control" data-val="true" data-val-email="Invalid email format." data-val-required="Email is required." id="ocforgotpassword_0__Email" maxlength="100" name="ocforgotpassword[0].Email" placeholder="Email" type="text" value="" /> 389 <label for="ocforgotpassword_0__Email">Email Address</label>
390 <span class="field-validation-valid text-danger" data-valmsg-for="ocforgotpassword[0].Email" data-valmsg-replace="true" id="EmailError"></span> 391 </div> 392 393 394 395 396 <div style="text-align: center;"> 397 <input id="submitForgotPassword" class="button-light-yellow-lg button-submit" type="submit" value="Submit" /> 398 399 </div> 400 401 402 <br /> 403 <p> 404 New to the SunSetter Family? <button type="button" onclick="handlePopOneValue('2')" style="text-decoration: none; cursor: pointer; color:#0071b3; background: none; border: none; padding: 0; font: inherit;">sign up now</button> 405 </p> 406 407 408 409 <button type="button" class="close-btnoc" id="closeForgotPassword" onclick="closeForgotPasswordPopup()" style="position: absolute; top: 10px; right: 30px; cursor: pointer; font-size:20px;"></button> 410 </div> 411 </div> 412 </div> 413 </div> 414</form></div> 415 416<div id="signupModal" class="ForgetModal"> 417 418<form action="/oc/ocloginnew/Signupaction/" class="site-form free-swatches-form" method="post"><input name="__RequestVerificationToken" type="hidden" value="PhLA6eybglkb0pg8EX6M58HIoEOK00AcrOTNPAzF9clH-05-Vxrbmvrt0mxH1FQkdREbPbKYaaKAP9k-wS0wwGIzu2ASQ6J6KxEVncN102g1" /> <div class="psignup-border"> 419 <div class="Signupborder"> 420 <div class="form-horizontal"> 421 422 423 <img src="/globalassets/assets/images/ui/logo-sunsetter.svg" style="text-align: center;"> 424 <h2 style="color: #01426a; text-align: center;">Sign Up Now</h2> 425 <br /> 426 <p style="text-align: center;">Please provide us with your customer number and <br /> the email and password you would like to use to <br />create your owner account.</p> 427 <br /> <div class="form-floating mb-4"> 428 <input aria-describedby="CustomerNumberError" autocomplete="on" class="form-control" data-val="true" data-val-required="CustomerNumber is required." id="ocsignup_0__CustomerNumber" maxlength="30" name="ocsignup[0].CustomerNumber" placeholder="CustomerNumber" type="text" value="" /> 429 <label for="ocsignup_0__CustomerNumber">Customer Number</label> 430 <span class="field-validation-valid text-danger" data-valmsg-for="ocsignup[0].CustomerNumber" data-valmsg-replace="true" id="customerError"></span> 431 </div> 432 <div class="form-floating mb-4"> 433 <input aria-describedby="EmailError" autocomplete="on" class="form-control" data-val="true" data-val-email="Invalid email format." data-val-required="Email is required." id="ocsignup_0__Email" maxlength="100" name="ocsignup[0].Email" placeholder="Email" type="text" value="" /> 434 <label for="ocsignup_0__Email">Email Address</label> 435 <span class="field-validation-valid text-danger" data-valmsg-for="ocsignup[0].Email" data-valmsg-replace="true" id="EmailError"></span> 436 </div> 437 <div class="form-floating mb-4"> 438 <input aria-describedby="PasswordError" autocomplete="on" class="form-control" data-val="true" data-val-minlength="Password must be at least 8 characters long." data-val-minlength-min="8" data-val-required="Password is required." id="passwordField" maxlength="30" name="ocsignup[0].Password" placeholder="Password" type="password" value="" /> 439 <label for="ocsignup_0__Password">Password</label> 440 <span class="field-validation-valid text-danger" data-valmsg-for="ocsignup[0].Password" data-valmsg-replace="true" id="PasswordError"></span> 441 </div><div class="form-floating mb-4"> 442 <input aria-describedby="ConfirmPasswordError" autocomplete="on" class="form-control" data-val="true" data-val-equalto="Passwords do not match." data-val-equalto-other="*.Password" data-val-required="ConfirmPassword is required." id="confirmPasswordField" maxlength="30" name="ocsignup[0].ConfirmPassword" placeholder="Confirm Password" type="password" value="" /> 443 <label for="ocsignup_0__ConfirmPassword">Confirm Password</label>
444 <span class="field-validation-valid text-danger" data-valmsg-for="ocsignup[0].ConfirmPassword" data-valmsg-replace="true" id="ConfirmPasswordError"></span> 445 </div> 446 <div style="text-align: center;"> 447 <input class="button-light-yellow-lg button-submit" type="submit" value="Create Account" /> 448 </div> <br /> 449 <p> 450 Already Have an Account?<a href="/oc/ocloginnew" style="text-decoration:none ; margin-left:8px;">Sign In</a> 451 </p> 452 453 <button type="button" class="close-btnoc" id="closeForgotPassword" onclick="closesignupPopup()" style="position: absolute; top: 10px; right: 30px; cursor: pointer; font-size:20px;"></button> 454 455 </div> 456 </div> 457 </div> 458</form></div> 459 460 461<div id="otpmodal" class="ForgetModal"> 462<form action="/oc/ocloginnew/otpaction/" class="site-form free-swatches-form" method="post" onsubmit="updateText()"><input name="__RequestVerificationToken" type="hidden" value="k65qRWmS2WVkIUNvJcmT_RAbp4N-jp5pxMoQfCh-jS13UFvBuqaEaHvZ57aBWEpTIwS1K2wBhjXMQgKRXZzaTT3R-irvW2DaWVAkaQdapWs1" /> <div class="ForgotPasswordborder1"> 463 <div class="ForgotPasswordborder"> 464 <div class="form-horizontal"> 465 466 <img src="/globalassets/assets/images/ui/logo-sunsetter.svg" style="text-align: center;"> 467 <div> 468 <h2 style="color: #01426a; text-align: center;"> 469 Enter Your OTP here 470 </h2> 471 <br /> 472 <p style="text-align: center;"> 473 An One-Time Password (OTP) will be sent to your email for verification. 474 </p> 475 <br /> 476 477 <div class="form-floating mb-4"> 478 <input aria-describedby="OTPError" autocomplete="off" class="form-control" data-val="true" data-val-regex="OTP must be a 6-digit number." data-val-regex-pattern="^\d{6}$" data-val-required="OTP is required." id="ocotb_0__OTP" maxlength="6" name="ocotb[0].OTP" placeholder="Enter OTP" type="text" value="" /> 479 <label for="ocotb_0__OTP">One-Time Password (OTP)</label> 480 <span class="field-validation-valid text-danger" data-valmsg-for="ocotb[0].OTP" data-valmsg-replace="true" id="OTPError"></span> 481 </div> <div class="form-floating mb-4"> 482 <input aria-describedby="PasswordError" autocomplete="on" class="form-control" data-val="true" data-val-minlength="Password must be at least 8 characters long." data-val-minlength-min="8" data-val-required="Password is required." id="passwordField" maxlength="30" name="ocotb[0].Password" placeholder="Password" type="password" value="" /> 483 <label for="ocotb_0__Password">Password</label> 484 <span class="field-validation-valid text-danger" data-valmsg-for="ocotb[0].Password" data-valmsg-replace="true" id="PasswordError"></span> 485 </div><div class="form-floating mb-4"> 486 <input aria-describedby="ConfirmPasswordError" autocomplete="on" class="form-control" data-val="true" data-val-equalto="Passwords do not match." data-val-equalto-other="*.Password" data-val-required="ConfirmPassword is required." id="confirmPasswordField" maxlength="30" name="ocotb[0].ConfirmPassword" placeholder="Confirm Password" type="password" value="" /> 487 <label for="ocotb_0__ConfirmPassword">Confirm Password</label> 488 <span class="field-validation-valid text-danger" data-valmsg-for="ocotb[0].ConfirmPassword" data-valmsg-replace="true" id="ConfirmPasswordError"></span> 489 </div> 490 <br /> 491 <div style="text-align: center;"> 492 <input class="button-light-yellow-lg button-submit" type="submit" value="Submit" /> 493 </div> 494 495 <button type="button" class="close-btnoc" id="closeForgotPassword" onclick="otpclose()" style="position: absolute; top: 10px; right: 30px; cursor: pointer; font-size:20px;"></button> 496 </div> 497 </div> 498 </div> 499 </div> 500</form></div> 501 502<div id="acountcreated" class="ForgetModal"> 503 504 505 <input name="__RequestVerificationToken" type="hidden" value="a6mNpgWnEts9MfB_fa3evdQLX17dWtx_pitNfIpScrvCh4YmRbYGv3heOZ_yKDkSaa
505a4BnkR9tmCAMcz2fHK-rcdj8i9jdYFDeUtV0QtMZk1" /> 506 <div class="ForgotPasswordborder1"> 507 <div class="ForgotPasswordborder"> 508 <div class="form-horizontal"> 509 510 511 <div> 512 <div style="display:flex; justify-content:center"> 513 <div class="tick-container"> 514 <div class="circle"></div> 515 <div class="tick"> </div> 516 </div> 517 </div> 518 <h2 style="color: #01426a; text-align: center;"> 519 Success 520 </h2> 521 <br /> 522 <h3 style="color: #01426a;"> 523 Your Account has been Sucessfully Created 524 </h3> 525 526 <br /> 527 528 529 <br /> 530 <div style="text-align: center;"> 531 <input class="button-light-yellow-lg button-submit" onclick="accountmsgclose()" type="submit" value="OK" /> 532 </div> 533 534 </div> 535 </div> 536 </div> 537 </div> 538 539 540</div> 541 542 543 544 545<div id="passwordresetmsg" class="ForgetModal"> 546 547 548 <input name="__RequestVerificationToken" type="hidden" value="_l5qMtMlULoQY47Wf4291gWiQifFH9qYwRxN3lWc8ugVY6ZXt6sypmcwqTjp3oUh1pf2oYRrIlp3LMwgzcJu3Najn17eA95C-gQbl0WH1yc1" /> 549 <div class="ForgotPasswordborder1"> 550 <div class="ForgotPasswordborder"> 551 <div class="form-horizontal"> 552 553 554 <div> 555 <div style="display:flex; justify-content:center"> 556 <div class="tick-container"> 557 <div class="circle"></div> 558 <div class="tick"> </div> 559 </div> 560 </div> 561 <h2 style="color: #01426a; text-align: center;"> 562 Success 563 </h2> 564 <br /> 565 <h3 style="color: #01426a;"> 566 Your password has been Sucessfully Reset 567 </h3> 568 569 <br /> 570 571 572 <br /> 573 <div style="text-align: center;"> 574 <input class="button-light-yellow-lg button-submit" onclick="passwordresetmsgfunctionclose()" type="submit" value="OK" /> 575 </div> 576 577 </div> 578 </div> 579 </div> 580 </div> 581 582 583</div> 584 585<div> 586 587 588<footer class="sticky-footer"> 589 <div class="container"> 590 <div class="row"> 591 <div class="copyright col pb-3"> 592 593 <div class="d-flex flex-column flex-md-row justify-content-md-center align-items-md-center" > 594 <p class="body-sm mr-lg-5 pr-sm-5" style="padding-top:10px"> 595 <span>© 2026 SunSetter Products. All Rights Reserved. All trademarks are owned by SunSetter.</span> 596 <span class="copyright-links mt-1 mt-md-0"> 597 <a class="pl-0 pr-4 pl-md-5 pr-md-0" href="/cm/privacy/"><strong>Privacy & Security</strong></a> 598 <a class="pl-0 pr-4 pl-md-5 pr-md-0" href="/cm/ccpa-privacy-notice/"><strong>CCPA Policy</strong></a> 599 </span> 600 </p> 601 </div> 602 </div> 603 </div> 604 </div> 605</footer> 606 607</div> 608
609<script> 610 document.addEventListener('DOMContentLoaded', function () { 611 var popOne = ''; 612 613 614 if (popOne) { 615 handlePopOneValue(popOne); 616 } 617 }); 618</script>
vendor: 2 bytes, line 618
618
619<script> 620 621 function removelocalStorage() { 622 623 624 localStorage.removeItem("btnlocal"); 625 } 626 627 628 //password show and hide 629 function togglePasswordVisibility() { 630 631 const passwordInput = document.getElementById('passwordField'); 632 633 634 passwordInput.type = (passwordInput.type === 'password') ? 'text' : 'password'; 635 } 636 637 638 639 640 641 642 function handlePopOneValue(popOneValue) 643 { 644 645 646 switch (popOneValue) { 647 case "1": 648 showForgotPasswordPopup(); 649 break; 650 case "2": 651 showsignupPopup(); 652 break; 653 case "3": 654 otpPopup(); 655 break; 656 case "4": 657 accountmsg(); 658 break; 659 case "5": 660 passwordresetmsgfunction(); 661 break; 662 default: 663 664 break; 665 } 666 } 667 668 669 670 671 function passwordresetmsgfunction() { 672 var model = document.getElementById("passwordresetmsg"); 673 674 var css = document.querySelector('.overlay'); 675 676 model.style.display = "block"; 677 css.style.display = "block"; 678 } 679 function passwordresetmsgfunctionclose() { 680 debugger; 681 682 var model = document.getElementById("passwordresetmsg"); 683 684 var css = document.querySelector('.overlay'); 685 686 model.style.display = "none"; 687 css.style.display = "none"; 688 window.location.href = '/oc/ocloginnew'; 689 } 690 691 692 693 694 695 696 697 698 699 700 701 function accountmsg() { 702 var model = document.getElementById("acountcreated"); 703 704 var css = document.querySelector('.overlay'); 705 706 model.style.display = "block"; 707 css.style.display = "block"; 708 } 709 function accountmsgclose() { 710 debugger; 711 712 var model = document.getElementById("acountcreated"); 713 714 var css = document.querySelector('.overlay'); 715 716 model.style.display = "none"; 717 css.style.display = "none"; 718 window.location.href = '/oc/ocloginnew'; 719 } 720 721 722 723 function otpPopup() { 724 725 726 var modal = document.getElementById("otpmodal"); 727 728 var css = document.querySelector('.overlay'); 729 730 modal.style.display = "block"; 731 css.style.display = "block" 732 733 734 735 } 736 737 738 function otpclose() { 739 740 var modal = document.getElementById("otpmodal"); 741 var css = document.querySelector('.overlay'); 742 743 modal.style.display = "none"; 744 css.style.display = "none"; 745 } 746 747 // Function to show the forgot password form in a pop-up 748 749 function showForgotPasswordPopup() { 750 751 752 var modal = document.getElementById("forgotPasswordModal"); 753 var modal2 = document.getElementById("signupModal"); 754 755 modal2.style.display="none" 756 757 var css = document.querySelector('.overlay'); 758 759 modal.style.display = "block"; 760 css.style.display = "block" 761 762 763 764 } 765 766 767 function closeForgotPasswordPopup() { 768 769 var modal = document.getElementById("forgotPasswordModal"); 770 var css = document.querySelector('.overlay'); 771 772 modal.style.display = "none"; 773 css.style.display = "none"; 774 } 775 776 777 //function to show sugn up pop 778 779 function showsignupPopup() { 780 781 782 783 var modal = document.getElementById("signupModal"); 784 var css = document.querySelector('.overlay'); 785 786 var modal2 = document.getElementById("forgotPasswordModal"); 787 788 789 modal2.style.display = "none"; 790 modal.style.display = "block"; 791 792 793 css.style.display = "block" 794 } 795 function closesignupPopup() { 796 797 var modal = document.getElementById("signupModal"); 798 var css = document.querySelector('.overlay'); 799 800 modal.style.display = "none"; 801 css.style.display = "none"; 802 } 803 804 805 806</script>
806 807 808 809 810 </main> 811
811<script> 812 var desktopPhone = '1-800-876-2340'; 813 var mobilePhone = '1-800-876-2340'; 814 var sitePopupsEnabled = true; 815 </script>
815 816
816<script src="/assets/dist/js/polyfill.min.js?cache=04302026" id="polyfill-script"></script>
816 817
817<script src="/assets/dist/js/app.min.js?cache=04302026"></script>
817 818
818<script src="/assets/dist/js/optimizely-experiment-api.min.js?cache=04302026"></script>
818 819
819<script> 820 var isRetractableScreenPage = window.location.href.indexOf('/retractable-screens') !== -1 || window.location.href.indexOf('/easyscreens') !== -1; 821 var isEasyShadesPage = window.location.href.indexOf('/easyshades') !== -1; 822 if (isRetractableScreenPage) { 823 824 [].map.call(document.querySelectorAll('.primary-item-get-pricing a'), function (link) { 825 link.href = '/cm/retractable-screens/get-estimate/'; 826 }); 827 } else if (isEasyShadesPage) { 828 [].map.call(document.querySelectorAll('.primary-item-get-pricing a'), function (link) { 829 link.href = '/cm/easyshades/pricing-and-order/'; 830 }); 831 } 832 </script>
832 833 834 835
835<script> 836 if (!Aggregator) { 837 var Aggregator = function (o) { 838 var d = document, p = Aggregator.prototype; this.options = o; this.q = []; d.cookie = '__na_c=1'; p.p = function (c) { 839 return function () { 840 this.q.push([c, arguments]) 841 } 842 }; p.setPerson = p.p(4, arguments); p.logEvent = p.p(0, arguments); p.logPageview = p.p(1, arguments); 843 p.ready = p.p(2, arguments); p.logOutbound = p.p(3, arguments); p.updatePerson = p.p(5, arguments); p.updateSession = p.p(6, arguments); 844 p.updateEvent = p.p(7, arguments); p.push = p.p(8, arguments); var s = d.createElement('script'); s.type = 'text/javascript'; 845 s.async = true; (function (i) { 846 s.onreadystatechange = function () { if (s.readyState == 'loaded' || s.readyState == 'complete') { i.run(); } }; 847 s.onload = function () { i.run(); } 848 })(this); e = location.protocol == 'https:'; s.src = 'http' + (e ? 's://' : '://') + 849 (e && navigator.userAgent.indexOf('MSIE') > -1 ? 'a-{0}.gatorapi.com' : 'a-{0}.scripts.gatorapi.com').replace('{0}', o.projectId) + 850 '/web?t=' + Math.floor((new Date() * .00001) / 36); var e = d.getElementsByTagName('script')[0]; e.parentNode.insertBefore(s, e); 851 } 852 } 853 if (!gator) { 854 var gator = new Aggregator({ 855 "projectId": "53999616" 856 }); 857 } 858 var gatorApi = { 859 log: function (gf, name, address, zip, email, phone) { 860 console.log(`${gf}, ${name}, ${address}, ${zip}, ${email}, ${phone}`); 861 var id = Date.now(); 862 gator.logEvent(gf, { 863 address, 864 email, // is there a reason this isn't being logged? 865 id, 866 name, 867 phone, 868 zip, 869 }); 870 }, 871 }; 872 </script>
872 873
873<script> 874 gator.logPageview(); 875 </script>
875 876
877<script> 878 (function (g, e, n, es, ys, m, xg) { 879 g['_genesysJs'] = e; 880 g[e] = g[e] || function () { 881 (g[e].q = g[e].q || []).push(arguments) 882 }; 883 g[e].t = 1 * new Date(); 884 g[e].c = es; 885 ys = document.createElement('script'); ys.async = 1; ys.src = n; ys.charset = 'utf-8'; document.head.appendChild(ys); 886 xg = document.createElement('script'); xg.async = 1; xg.src = m; xg.charset = 'utf-8'; document.body.appendChild(xg); 887 })(window, 'Genesys', 'https://apps.usw2.pure.cloud/genesys-bootstrap/genesys.min.js', { 888 environment: 'prod-usw2', 889 deploymentId: 'af2865eb-9250-4c8d-be8d-13b4e7e5e693' 890 }, 891 '', '/assets/dist/js/genesys-mxg-manager.min.js?cache=04302026' 892 ); 893</script>
893
893<script>
vendor: 152 bytes, lines 893-896
893 894 (function(h,o,t,j,a,r){ 895 h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; 896 h._hjSettings={hjid:
8962374119
vendor: 312 bytes, lines 896-902
896,hjsv:6}; 897 a=o.getElementsByTagName('head')[0]; 898 r=o.createElement('script');r.async=1; 899 r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; 900 a.appendChild(r); 901 })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); 902
902</script>
902 903
903<script> 904 var _kmq = _kmq || []; 905 var _kmk = _kmk || '42be80a0d2c39ebe60058c7fe1c64db0a7b99016'; 906 function _kms(u) { 907 setTimeout(function () { 908 var d = document, f = d.getElementsByTagName('script')[0], 909 s = d.createElement('script'); 910 s.type = 'text/javascript'; s.async = true; s.src = u; 911 f.parentNode.insertBefore(s, f); 912 }, 1); 913 } 914 _kms('//i.kissmetrics.com/i.js'); 915 _kms('//scripts.kissmetrics.com/' + _kmk + '.2.js'); 916 </script>
vendor: 2 bytes, line 916
916
917<script async src=https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=L2S3bd></script>
917
917<script async src='https://tag.simpli.fi/sifitag/d0c04114-5f1d-4bdd-b7aa-64c19734b09d'></script>
917 918 <!-- Eicoff run on all pages --> 919
920<script> 921 // console.log('pebble!'); 922 window._pp = window._pp || []; 923 _pp.brid = "2631"; 924 _pp.brcid = ""; 925 _pp.sessionId = ""; 926 _pp.email = ""; 927 _pp.offerCode = ""; 928 _pp.orderValue = ""; 929 _pp.orderId = ""; 930</script>
930 931
931<script> 932 _pp.sessionId = "149719872"; 933 _pp.email = ""; 934 </script>
vendor: 2 bytes, line 934
934
935<script> 936 (function () { 937 var ppjs = document.createElement('script'); 938 ppjs.type = 'text/javascript'; 939 ppjs.async = true; 940 ppjs.src = ('https:' == document.location.protocol ? 'https:' : 'http:') + '//cdn.pbbl.co/r/' + _pp.brid + '.js'; 941 var s = document.getElementsByTagName('script')[0]; 942 s.parentNode.insertBefore(ppjs, s); 943 })(); 944</script>
944 945 946</body> 947</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.