CINXE.COM
My RSSL | Login
<!DOCTYPE html> <html> <head> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KRDJGT4');</script> <!-- End Google Tag Manager --> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <!--CSS Bundle--> <link href="/sb/inline-css-bundle.css.v44" rel="stylesheet"> <!--Generated Canonical--> <link rel="canonical" href="https://www.myrssl.com/" /> <!-- Begin Metadata --> <title>My RSSL | Login</title> <meta name="description" content="Login to My RSSL" /> <!-- Twitter --> <meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="https://twitter.com/RSSLtd" /> <meta name="twitter:title" content="Login" /> <meta name="twitter:description" content="Login to My RSSL" /> <meta name="twitter:image" content="https://my.rssl.com/media/p2ykaqwh/master-rssl-logo_rgb.svg" /> <!--Open Graph --> <meta property="og:site_name" /> <meta property="og:url" content="https://my.rssl.com/" /> <meta property="og:type" content="website" /> <meta property="og:title" content="Login" /> <meta property="og:description" content="Login to My RSSL" /> <meta property="og:image" content="https://my.rssl.com/media/p2ykaqwh/master-rssl-logo_rgb.svg" /> <!--fav icon--> <!--TODO--> <!--<link rel="apple-touch-icon" sizes="180x180" href="/assets/img/icons/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="/assets/img/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/assets/img/icons/favicon-16x16.png"> <link rel="manifest" href="/assets/img/icons/manifest.json"> <link rel="mask-icon" href="/assets/img/icons/safari-pinned-tab.svg" color="#FFFFFF"> <link rel="shortcut icon" href="/assets/img/icons/favicon.ico"> <meta name="msapplication-TileColor" content="#FFFFFF"> <meta name="msapplication-config" content="/assets/img/icons/browserconfig.xml"> <meta name="theme-color" content="#FFFFFF"> !--> <!-- END Metadata--> <link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg"> <link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.png"> <script type="text/javascript">!function(T,l,y){var S=T.location,k="script",D="instrumentationKey",C="ingestionendpoint",I="disableExceptionTracking",E="ai.device.",b="toLowerCase",w="crossOrigin",N="POST",e="appInsightsSDK",t=y.name||"appInsights";(y.name||T[e])&&(T[e]=t);var n=T[t]||function(d){var g=!1,f=!1,m={initialize:!0,queue:[],sv:"5",version:2,config:d};function v(e,t){var n={},a="Browser";return n[E+"id"]=a[b](),n[E+"type"]=a,n["ai.operation.name"]=S&&S.pathname||"_unknown_",n["ai.internal.sdkVersion"]="javascript:snippet_"+(m.sv||m.version),{time:function(){var e=new Date;function t(e){var t=""+e;return 1===t.length&&(t="0"+t),t}return e.getUTCFullYear()+"-"+t(1+e.getUTCMonth())+"-"+t(e.getUTCDate())+"T"+t(e.getUTCHours())+":"+t(e.getUTCMinutes())+":"+t(e.getUTCSeconds())+"."+((e.getUTCMilliseconds()/1e3).toFixed(3)+"").slice(2,5)+"Z"}(),iKey:e,name:"Microsoft.ApplicationInsights."+e.replace(/-/g,"")+"."+t,sampleRate:100,tags:n,data:{baseData:{ver:2}}}}var h=d.url||y.src;if(h){function a(e){var t,n,a,i,r,o,s,c,u,p,l;g=!0,m.queue=[],f||(f=!0,t=h,s=function(){var e={},t=d.connectionString;if(t)for(var n=t.split(";"),a=0;a<n.length;a++){var i=n[a].split("=");2===i.length&&(e[i[0][b]()]=i[1])}if(!e[C]){var r=e.endpointsuffix,o=r?e.location:null;e[C]="https://"+(o?o+".":"")+"dc."+(r||"services.visualstudio.com")}return e}(),c=s[D]||d[D]||"",u=s[C],p=u?u+"/v2/track":d.endpointUrl,(l=[]).push((n="SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details)",a=t,i=p,(o=(r=v(c,"Exception")).data).baseType="ExceptionData",o.baseData.exceptions=[{typeName:"SDKLoadFailed",message:n.replace(/\./g,"-"),hasFullStack:!1,stack:n+"\nSnippet failed to load ["+a+"] -- Telemetry is disabled\nHelp Link: https://go.microsoft.com/fwlink/?linkid=2128109\nHost: "+(S&&S.pathname||"_unknown_")+"\nEndpoint: "+i,parsedStack:[]}],r)),l.push(function(e,t,n,a){var i=v(c,"Message"),r=i.data;r.baseType="MessageData";var o=r.baseData;return o.message='AI (Internal): 99 message:"'+("SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details) ("+n+")").replace(/\"/g,"")+'"',o.properties={endpoint:a},i}(0,0,t,p)),function(e,t){if(JSON){var n=T.fetch;if(n&&!y.useXhr)n(t,{method:N,body:JSON.stringify(e),mode:"cors"});else if(XMLHttpRequest){var a=new XMLHttpRequest;a.open(N,t),a.setRequestHeader("Content-type","application/json"),a.send(JSON.stringify(e))}}}(l,p))}function i(e,t){f||setTimeout(function(){!t&&m.core||a()},500)}var e=function(){var n=l.createElement(k);n.src=h;var e=y[w];return!e&&""!==e||"undefined"==n[w]||(n[w]=e),n.onload=i,n.onerror=a,n.onreadystatechange=function(e,t){"loaded"!==n.readyState&&"complete"!==n.readyState||i(0,t)},n}();y.ld<0?l.getElementsByTagName("head")[0].appendChild(e):setTimeout(function(){l.getElementsByTagName(k)[0].parentNode.appendChild(e)},y.ld||0)}try{m.cookie=l.cookie}catch(p){}function t(e){for(;e.length;)!function(t){m[t]=function(){var e=arguments;g||m.queue.push(function(){m[t].apply(m,e)})}}(e.pop())}var n="track",r="TrackPage",o="TrackEvent";t([n+"Event",n+"PageView",n+"Exception",n+"Trace",n+"DependencyData",n+"Metric",n+"PageViewPerformance","start"+r,"stop"+r,"start"+o,"stop"+o,"addTelemetryInitializer","setAuthenticatedUserContext","clearAuthenticatedUserContext","flush"]),m.SeverityLevel={Verbose:0,Information:1,Warning:2,Error:3,Critical:4};var s=(d.extensionConfig||{}).ApplicationInsightsAnalytics||{};if(!0!==d[I]&&!0!==s[I]){var c="onerror";t(["_"+c]);var u=T[c];T[c]=function(e,t,n,a,i){var r=u&&u(e,t,n,a,i);return!0!==r&&m["_"+c]({message:e,url:t,lineNumber:n,columnNumber:a,error:i}),r},d.autoExceptionInstrumented=!0}return m}(y.cfg);function a(){y.onInit&&y.onInit(n)}(T[t]=n).queue&&0===n.queue.length?(n.queue.push(a),n.trackPageView({})):a()}(window,document,{ src: "https://js.monitor.azure.com/scripts/b/ai.2.min.js", // The SDK URL Source crossOrigin: "anonymous", cfg: { // Application Insights Configuration connectionString: 'InstrumentationKey=af945665-9fc7-484f-8abe-3445c0f43ccf;IngestionEndpoint=https://ukwest-0.in.applicationinsights.azure.com/;LiveEndpoint=https://ukwest.livediagnostics.monitor.azure.com/;ApplicationId=91acd952-c703-4365-8a41-5933e0156564' }});</script></head> <body x-cloak x-data=""> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KRDJGT4" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- Begin Navigation --> <div class="hidden lg:block relative z-[1000] mb-[200px] bg-white"> <div> <div class="h-[80px] border-pink border-b-2"> <div class="container py-0 flex justify-between"> <div> <a href="/" class="absolute top-[39px]"> <span class="sr-only">My RSSL</span> <img class="h-20" src="/media/p2ykaqwh/master-rssl-logo_rgb.svg" alt="My RSSL"> </a> </div> <div class="h-[60px] flex items-end justify-end"> <span class="inline-flex items-center"> <svg xmlns="http://www.w3.org/2000/svg" width="40" height="20" viewBox="0 0 1357 733" class="mr-2 inline-block"> <g id="Group_236" data-name="Group 236" transform="translate(10194 1078)"> <g id="master-rssl-logo_rgb" transform="translate(-10199 -1100.576)"> <g id="Group_232" data-name="Group 232"> <path id="Path_177" data-name="Path 177" d="M683,580.314q-8.506,13.868-18.183,26.9t-20.431,25.131q-10.753,12.1-22.536,23.218t-24.5,21.162a365.155,365.155,0,0,0,226.922,78.712q11.061,0,21.962-.651t21.618-1.926q10.718-1.275,21.24-3.16t20.827-4.353a364.842,364.842,0,0,1-130.589-60.508A368.3,368.3,0,0,1,683,580.314Z" fill="#26aae1" /> <path id="Path_178" data-name="Path 178" d="M683,197.7A367.736,367.736,0,0,1,841.117,56.647a363.8,363.8,0,0,1,68.805-23.982q-10.3-2.468-20.827-4.353t-21.24-3.16q-10.718-1.275-21.618-1.926t-21.962-.651a368.7,368.7,0,0,0-62.834,5.368,365.153,365.153,0,0,0-164.088,73.345q12.716,10.043,24.5,21.162t22.536,23.218q10.753,12.1,20.431,25.131T683,197.7Z" fill="#26aae1" /> <path id="Path_179" data-name="Path 179" d="M683,580.314a364.077,364.077,0,0,1-50.248-139.667,370.9,370.9,0,0,1,0-103.281A364.334,364.334,0,0,1,683,197.7q-8.506-13.868-18.183-26.9t-20.431-25.131q-10.753-12.1-22.536-23.218t-24.5-21.162a367.962,367.962,0,0,0-101.618,125.27,365.961,365.961,0,0,0,43.973,393.308,368.688,368.688,0,0,0,57.644,56.859q12.716-10.043,24.5-21.162t22.536-23.218q10.753-12.1,20.431-25.131T683,580.314Z" fill="#7d3f97" /> <path id="Path_180" data-name="Path 180" d="M995.57,22.576q-11.061,0-21.962.651t-21.618,1.926q-10.718,1.275-21.24,3.16t-20.827,4.353A364.454,364.454,0,0,1,1021.739,80.3a366.5,366.5,0,0,1,0,617.4,364.455,364.455,0,0,1-111.817,47.639q10.3,2.468,20.827,4.353t21.24,3.16q10.718,1.275,21.618,1.926t21.962.651a366.431,366.431,0,1,0,0-732.861Z" fill="#5ce3a7" /> <path id="Path_181" data-name="Path 181" d="M1190.7,389.007A366.562,366.562,0,0,0,909.922,32.665,364.841,364.841,0,0,0,779.333,93.174,368.3,368.3,0,0,0,683,197.7a364.076,364.076,0,0,1,50.248,139.667,370.9,370.9,0,0,1,0,103.281A364.334,364.334,0,0,1,683,580.314,367.736,367.736,0,0,0,841.117,721.366a363.8,363.8,0,0,0,68.805,23.982,364.455,364.455,0,0,0,111.817-47.639,365.736,365.736,0,0,0,168.966-308.7Z" fill="#00a69c" /> <path id="Path_182" data-name="Path 182" d="M683,580.314a364.077,364.077,0,0,0,50.248-139.667,370.9,370.9,0,0,0,0-103.281A364.334,364.334,0,0,0,683,197.7a364.076,364.076,0,0,0-50.248,139.667,370.9,370.9,0,0,0,0,103.281A364.334,364.334,0,0,0,683,580.314Z" fill="#662b80" /> </g> </g> <path id="Subtraction_2" data-name="Subtraction 2" d="M366.5,733a372.407,372.407,0,0,1-37.472-1.892A365.952,365.952,0,0,1,1.892,403.972a371.995,371.995,0,0,1,0-74.945A365.952,365.952,0,0,1,329.027,1.892,372.391,372.391,0,0,1,366.5,0,365.25,365.25,0,0,1,593,78.349a367.964,367.964,0,0,0-101.973,125.4A364.121,364.121,0,0,0,455.518,323.3a371.713,371.713,0,0,0,0,86.4A366.628,366.628,0,0,0,593,654.651,364.973,364.973,0,0,1,366.5,733Z" transform="translate(-10194 -1078)" fill="#ff008f" /> </g> </svg> <a class="hover:text-pink" href="https://www.rssl.com" target="_blank">rssl.com</a> </span> </div> </div> </div> <div class="h-[80px]"> <div class="container py-0 flex justify-end"> <nav class="mt-3 space-x-3 xl:space-x-7 flex"> </nav> </div> </div> </div> </div> <!-- Mobile menu --> <div class="lg:hidden relative z-[1000] mb-[200px] bg-white h-[90px]" x-data="{ isOpen: false }"> <div class="flex justify-between border-pink border-b-2 h-[90px]"> <div class="container py-0"> <div> <a href="/" "> <span class="sr-only">My RSSL</span> <img class="absolute top-[60px] h-14" src="/media/p2ykaqwh/master-rssl-logo_rgb.svg" alt="My RSSL"> </a> </div> <div class="text-right mt-14"> <div> <svg xmlns="http://www.w3.org/2000/svg" width="40" height="20" viewBox="0 0 1357 733" class="mr-1 inline-block"> <g id="Group_236" data-name="Group 236" transform="translate(10194 1078)"> <g id="master-rssl-logo_rgb" transform="translate(-10199 -1100.576)"> <g id="Group_232" data-name="Group 232"> <path id="Path_177" data-name="Path 177" d="M683,580.314q-8.506,13.868-18.183,26.9t-20.431,25.131q-10.753,12.1-22.536,23.218t-24.5,21.162a365.155,365.155,0,0,0,226.922,78.712q11.061,0,21.962-.651t21.618-1.926q10.718-1.275,21.24-3.16t20.827-4.353a364.842,364.842,0,0,1-130.589-60.508A368.3,368.3,0,0,1,683,580.314Z" fill="#26aae1" /> <path id="Path_178" data-name="Path 178" d="M683,197.7A367.736,367.736,0,0,1,841.117,56.647a363.8,363.8,0,0,1,68.805-23.982q-10.3-2.468-20.827-4.353t-21.24-3.16q-10.718-1.275-21.618-1.926t-21.962-.651a368.7,368.7,0,0,0-62.834,5.368,365.153,365.153,0,0,0-164.088,73.345q12.716,10.043,24.5,21.162t22.536,23.218q10.753,12.1,20.431,25.131T683,197.7Z" fill="#26aae1" /> <path id="Path_179" data-name="Path 179" d="M683,580.314a364.077,364.077,0,0,1-50.248-139.667,370.9,370.9,0,0,1,0-103.281A364.334,364.334,0,0,1,683,197.7q-8.506-13.868-18.183-26.9t-20.431-25.131q-10.753-12.1-22.536-23.218t-24.5-21.162a367.962,367.962,0,0,0-101.618,125.27,365.961,365.961,0,0,0,43.973,393.308,368.688,368.688,0,0,0,57.644,56.859q12.716-10.043,24.5-21.162t22.536-23.218q10.753-12.1,20.431-25.131T683,580.314Z" fill="#7d3f97" /> <path id="Path_180" data-name="Path 180" d="M995.57,22.576q-11.061,0-21.962.651t-21.618,1.926q-10.718,1.275-21.24,3.16t-20.827,4.353A364.454,364.454,0,0,1,1021.739,80.3a366.5,366.5,0,0,1,0,617.4,364.455,364.455,0,0,1-111.817,47.639q10.3,2.468,20.827,4.353t21.24,3.16q10.718,1.275,21.618,1.926t21.962.651a366.431,366.431,0,1,0,0-732.861Z" fill="#5ce3a7" /> <path id="Path_181" data-name="Path 181" d="M1190.7,389.007A366.562,366.562,0,0,0,909.922,32.665,364.841,364.841,0,0,0,779.333,93.174,368.3,368.3,0,0,0,683,197.7a364.076,364.076,0,0,1,50.248,139.667,370.9,370.9,0,0,1,0,103.281A364.334,364.334,0,0,1,683,580.314,367.736,367.736,0,0,0,841.117,721.366a363.8,363.8,0,0,0,68.805,23.982,364.455,364.455,0,0,0,111.817-47.639,365.736,365.736,0,0,0,168.966-308.7Z" fill="#00a69c" /> <path id="Path_182" data-name="Path 182" d="M683,580.314a364.077,364.077,0,0,0,50.248-139.667,370.9,370.9,0,0,0,0-103.281A364.334,364.334,0,0,0,683,197.7a364.076,364.076,0,0,0-50.248,139.667,370.9,370.9,0,0,0,0,103.281A364.334,364.334,0,0,0,683,580.314Z" fill="#662b80" /> </g> </g> <path id="Subtraction_2" data-name="Subtraction 2" d="M366.5,733a372.407,372.407,0,0,1-37.472-1.892A365.952,365.952,0,0,1,1.892,403.972a371.995,371.995,0,0,1,0-74.945A365.952,365.952,0,0,1,329.027,1.892,372.391,372.391,0,0,1,366.5,0,365.25,365.25,0,0,1,593,78.349a367.964,367.964,0,0,0-101.973,125.4A364.121,364.121,0,0,0,455.518,323.3a371.713,371.713,0,0,0,0,86.4A366.628,366.628,0,0,0,593,654.651,364.973,364.973,0,0,1,366.5,733Z" transform="translate(-10194 -1078)" fill="#ff008f" /> </g> </svg> <a class="hover:text-pink" href="https://www.rssl.com" target="_blank">rssl.com</a> </div> </div> </div> </div> <div x-show="isOpen" x-transition:enter="transition ease-out duration-150" x-transition:enter-start="opacity-0 scale-95" x-transition:enter-end="opacity-100 scale-100" x-transition:leave="transition ease-in duration-100" x-transition:leave-start="opacity-100 scale-100" x-transition:leave-end="opacity-0 scale-95" class="absolute inset-x-0 top-0 bg-white"> <div class="bg-white relative z-[5000] min-h-dvh"> <div class="border-pink border-b-2"> <div class="container flex justify-between py-0 h-[90px]"> <div> <a href="/" "> <span class="sr-only">My RSSL</span> <img class="absolute top-[60px] h-14" src="/media/p2ykaqwh/master-rssl-logo_rgb.svg" alt="My RSSL"> </a> </div> <div class="text-right mt-4"> <div> <svg xmlns="http://www.w3.org/2000/svg" width="40" height="20" viewBox="0 0 1357 733" class="mr-1 inline-block"> <g id="Group_236" data-name="Group 236" transform="translate(10194 1078)"> <g id="master-rssl-logo_rgb" transform="translate(-10199 -1100.576)"> <g id="Group_232" data-name="Group 232"> <path id="Path_177" data-name="Path 177" d="M683,580.314q-8.506,13.868-18.183,26.9t-20.431,25.131q-10.753,12.1-22.536,23.218t-24.5,21.162a365.155,365.155,0,0,0,226.922,78.712q11.061,0,21.962-.651t21.618-1.926q10.718-1.275,21.24-3.16t20.827-4.353a364.842,364.842,0,0,1-130.589-60.508A368.3,368.3,0,0,1,683,580.314Z" fill="#26aae1" /> <path id="Path_178" data-name="Path 178" d="M683,197.7A367.736,367.736,0,0,1,841.117,56.647a363.8,363.8,0,0,1,68.805-23.982q-10.3-2.468-20.827-4.353t-21.24-3.16q-10.718-1.275-21.618-1.926t-21.962-.651a368.7,368.7,0,0,0-62.834,5.368,365.153,365.153,0,0,0-164.088,73.345q12.716,10.043,24.5,21.162t22.536,23.218q10.753,12.1,20.431,25.131T683,197.7Z" fill="#26aae1" /> <path id="Path_179" data-name="Path 179" d="M683,580.314a364.077,364.077,0,0,1-50.248-139.667,370.9,370.9,0,0,1,0-103.281A364.334,364.334,0,0,1,683,197.7q-8.506-13.868-18.183-26.9t-20.431-25.131q-10.753-12.1-22.536-23.218t-24.5-21.162a367.962,367.962,0,0,0-101.618,125.27,365.961,365.961,0,0,0,43.973,393.308,368.688,368.688,0,0,0,57.644,56.859q12.716-10.043,24.5-21.162t22.536-23.218q10.753-12.1,20.431-25.131T683,580.314Z" fill="#7d3f97" /> <path id="Path_180" data-name="Path 180" d="M995.57,22.576q-11.061,0-21.962.651t-21.618,1.926q-10.718,1.275-21.24,3.16t-20.827,4.353A364.454,364.454,0,0,1,1021.739,80.3a366.5,366.5,0,0,1,0,617.4,364.455,364.455,0,0,1-111.817,47.639q10.3,2.468,20.827,4.353t21.24,3.16q10.718,1.275,21.618,1.926t21.962.651a366.431,366.431,0,1,0,0-732.861Z" fill="#5ce3a7" /> <path id="Path_181" data-name="Path 181" d="M1190.7,389.007A366.562,366.562,0,0,0,909.922,32.665,364.841,364.841,0,0,0,779.333,93.174,368.3,368.3,0,0,0,683,197.7a364.076,364.076,0,0,1,50.248,139.667,370.9,370.9,0,0,1,0,103.281A364.334,364.334,0,0,1,683,580.314,367.736,367.736,0,0,0,841.117,721.366a363.8,363.8,0,0,0,68.805,23.982,364.455,364.455,0,0,0,111.817-47.639,365.736,365.736,0,0,0,168.966-308.7Z" fill="#00a69c" /> <path id="Path_182" data-name="Path 182" d="M683,580.314a364.077,364.077,0,0,0,50.248-139.667,370.9,370.9,0,0,0,0-103.281A364.334,364.334,0,0,0,683,197.7a364.076,364.076,0,0,0-50.248,139.667,370.9,370.9,0,0,0,0,103.281A364.334,364.334,0,0,0,683,580.314Z" fill="#662b80" /> </g> </g> <path id="Subtraction_2" data-name="Subtraction 2" d="M366.5,733a372.407,372.407,0,0,1-37.472-1.892A365.952,365.952,0,0,1,1.892,403.972a371.995,371.995,0,0,1,0-74.945A365.952,365.952,0,0,1,329.027,1.892,372.391,372.391,0,0,1,366.5,0,365.25,365.25,0,0,1,593,78.349a367.964,367.964,0,0,0-101.973,125.4A364.121,364.121,0,0,0,455.518,323.3a371.713,371.713,0,0,0,0,86.4A366.628,366.628,0,0,0,593,654.651,364.973,364.973,0,0,1,366.5,733Z" transform="translate(-10194 -1078)" fill="#ff008f" /> </g> </svg> <a class="hover:text-pink" href="https://www.rssl.com" target="_blank">rssl.com</a> </div> <button x-on:click="isOpen=!isOpen" type="button"> <span class="sr-only">Close menu</span> <!-- Heroicon name: outline/x-mark --> <svg class="h-6 w-6 mr-2 text-pink" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="3.0" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /> </svg> </button> </div> </div> </div> <div class="container mt-8"> <nav> <div class="mb-10 flex justify-start items-center"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6 inline-block ml-3 mr-1 text-purple"> <path stroke-linecap="round" stroke-linejoin="round" d="M17.982 18.725A7.488 7.488 0 0 0 12 15.75a7.488 7.488 0 0 0-5.982 2.975m11.963 0a9 9 0 1 0-11.963 0m11.963 0A8.966 8.966 0 0 1 12 21a8.966 8.966 0 0 1-5.982-2.275M15 9.75a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" /> </svg> <a class="mr-4 hover:text-pink" href="/my-account/">My Account</a> <span class="hover:text-pink" x-data="{logoutDisabled:false}"> <button x-bind:disabled="logoutDisabled" x-on:click="window.location='/logout';logoutDisabled=true;" class="mr-1 inline-block">Log out</button> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="inline-block w-6 h-6 mr-4"> <path stroke-linecap="round" stroke-linejoin="round" d="M8.25 9V5.25A2.25 2.25 0 0 1 10.5 3h6a2.25 2.25 0 0 1 2.25 2.25v13.5A2.25 2.25 0 0 1 16.5 21h-6a2.25 2.25 0 0 1-2.25-2.25V15M12 9l3 3m0 0-3 3m3-3H2.25" /> </svg> </span> </div> </nav> </div> </div> </div> </div> <!-- END Navigation --> <!-- Begin CM1Login --> <script defer src="https://www.google.com/recaptcha/api.js?render=6Ld_eCEfAAAAAEvwBICuKRjt-JzFnnGK_cIfh6V_"></script> <div x-cloak x-data="accountData()"> <div class="container -mt-20"> <h1 class="text-purple lg:text-4xl xl:text-5xl 2xl:text-6xl font-light mb-12">Welcome to My RSSL</h1> <div x-show="screen!='register'" class="hidden lg:block text-xl font-semibold"> Your all-in-one solution for efficient project management and collaboration </div> <div class="grid grid-cols-1 lg:grid-cols-7 mt-12"> <div x-show="screen!='register'" class="col-span-4 order-last lg:order-first"> <div class="w-full mt-12 lg:mt-0 lg:w-2/3"> Easily access test results, request quotes and submit samples online. Manage your account and projects anytime, anywhere, on a secure platform. With quick online submissions, advanced admin control, and powerful data analytics.


Sign up today, to streamline your workflow and experience the future of laboratory collaboration. </div> <div class="w-full px-7 py-5 my-12"> </div> </div> <div class="relative col-span-3 order-first lg:order-last"> <!--LOGIN--> <div x-show="screen==='loginScreen'" class="bg-white container container-rounded"> <h2 class="font-normal text-purple mb-4"> Log In </h2> <div x-data="{resetQuery: new URLSearchParams(location.search).get('p')}"> <template x-if="resetQuery"> <div class="mb-4">My RSSL has sent you an email, please check your email and login using your new password.</div> </template> </div> <div x-data="{registerQuery: new URLSearchParams(location.search).get('r')}"> <template x-if="registerQuery"> <div class="mb-4"> <p><span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak">Thank you for registering with MyRSSL. Please check your mailbox for a welcome email which includes a link to activate your account.</span></p> <p><span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak">Once this is complete, RSSL will process your registration and associate your account with your business community.</span></p> </div> </template> </div> <div id="loginForm" class="grid grid-cols-2 gap-x-4 gap-y-6"> <input autocomplete="off" id="email" name="email" placeholder="Email" type="text" x-on:click="validEmail=true" x-model="email" class="form-input col-span-2" :class="{ 'form-input-invalid': !validEmail }" /> <input autocomplete="off" id="password" name="password" placeholder="Password" x-on:click="validPassword=true" type="password" x-model="password" class="form-input col-span-2" :class="{ 'form-input-invalid': !validPassword }" /> <button x-on:click="if(validateLogin()){postLogin()};" class="btn btn-pink w-full col-span-2 lg:col"> <span></span> <span>Log In</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"> <path stroke-linecap="round" stroke-linejoin="round" d="m12.75 15 3-3m0 0-3-3m3 3h-7.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" /> </svg> </button> <a class="col-span-2 lg:col cursor-pointer text-green underline" x-on:click="Alpine.nextTick(() => { resetRegistrationErrors(); screen= 'passwordReset'});"> Forgotten Password? </a> <!-- validation starts --> <div class="col-span-2"> <ul class="text-alert"> <!-- Validate Email --> <li x-show="!validEmail" class="flex items-center py-1"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> <span>Invalid Email!</span> </li> <!-- Validate Password --> <li x-show="!validPassword" class="flex items-center"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> <span>Password minimum length is 8 characters</span> </li> </ul> </div> <!-- validation ends --> </div> </div> <!--RESET PASSWORD--> <div x-show="screen === 'passwordReset'" class="bg-white container container-rounded"> <h2 class="font-normal text-purple mb-4"> Password Reset </h2> <div id="resetPasswordForm" class="grid gap-y-6"> <input id="resetEmail" name="resetEmail" placeholder="Email" type="text" x-model="email" x-on:click="validEmail=true" class="form-input" :class="{ 'form-input-invalid': !validEmail }" /> <button x-data="{ isDisabled: false }" x-on:click="if (validateResetPassword()) { isDisabled = true; postResetPassword().finally(() => isDisabled = false); }" x-bind:disabled="isDisabled" class="btn btn-pink w-full"> <span></span> <span>Reset Password</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"> <path stroke-linecap="round" stroke-linejoin="round" d="m12.75 15 3-3m0 0-3-3m3 3h-7.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" /> </svg> </button> <a class="text-green cursor-pointer underline" x-on:click="Alpine.nextTick(() => { resetRegistrationErrors(); screen= 'loginScreen'});"> Login? </a> <!-- validation starts --> <ul> <!-- Validate Email --> <li x-show="!validEmail" class="flex items-center"> <div class="text-alert"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> </div> <span class="text-alert">Invalid Email!</span> </li> <template x-if="isErrored()"> <li class="flex items-center"> <div class="text-alert"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> </div> <span class="text-alert">Request Failed - Please contact MyRssl admin.</span> </li> </template> </ul> <!-- validation ends --> </div> </div> </div> </div> <!--REGISTER--> <div x-show="screen==='register'" class="bg-white container container-rounded"> <div> <h2 class="text-purple my-6"> Register </h2> </div> <div id="registerForm"> <div class="grid grid-cols-1 md:grid-cols-12 md:space-x-6"> <div class="md:col-span-6 space-y-6"> <div> <label for="firstName">First Name *</label> <input id="firstName" name="firstName" placeholder="First Name" type="text" x-on:click="validFirstName=true" x-model="firstName" class="form-input" :class="{ 'form-input-invalid': !validFirstName }" /> </div> <div> <label for="lastName">Last Name *</label> <input id="lastName" name="lastName" placeholder="Last Name" type="text" x-on:click="validLastName=true" x-model="lastName" class="form-input" :class="{ 'form-input-invalid': !validLastName }" /> </div> <div> <label for="jobTitle">Job Title *</label> <input id="jobTitle" name="jobTitle" placeholder="Job Title" type="text" x-on:click="validJobTitle=true" x-model="jobTitle" class="form-input" :class="{ 'form-input-invalid': !validJobTitle }" /> </div> <div> <label for="registerEmail">Email *</label> <p class="my-4 text-alert">Please note. We can't accept personal email addresses e.g. hotmail, googlemail etc. only company email addresses.</p> <input id="registerEmail" name="registerEmail" placeholder="Email" type="text" x-on:click="validRegisterEmail=true" x-model="registerEmail" class="form-input" :class="{ 'form-input-invalid': !validRegisterEmail }" /> </div> <div> <label for="registerPassword">Password *</label> <p class="my-4 text-alert">Minimum 8 characters. 1 uppercase, 1 lowercase, 1 number, 1 special character from !£$%^&*()</p> <input id="registerPassword" name="registerPassword" placeholder="Password" type="password" x-on:click="validRegisterPassword=true" x-model="registerPassword" class="form-input" :class="{ 'form-input-invalid': !validRegisterPassword }" /> </div> <div> <label for="confirmRegisterPassword">Confirm Password *</label> <input id="confirmRegisterPassword" name="confirmRegisterPassword" placeholder="Confirm Password" type="password" x-on:click="validConfirmRegisterPassword=true" x-model="confirmRegisterPassword" class="form-input" :class="{ 'form-input-invalid': !validConfirmRegisterPassword }" /> </div> <div> <label for="sector">Sector *</label> <select x-model="sector" id="sector" name="sector" x-on:click="validSector=true" x-on:change="getSubSectors($event.target.value)" class="form-input" :class="{ 'form-input-invalid': !validSector }" /> <option value="">Select Sector</option> <template x-for="sector in sectors"> <option :value="sector.name" x-text="sector.value"></option> </template> </select> </div> <div> <label for="subSector">Sub Sector *</label> <select x-model="subSector" id="subSector" name="subSector" x-on:click="validSubSector=true" class="form-input" :class="{ 'form-input-invalid': !validSubSector }" /> <option value="">Select Sub Sector</option> <template x-for="subSector in subSectors"> <option :value="subSector.name" x-text="subSector.value"></option> </template> </select> </div> </div> <div class="md:col-span-6 mt-6 md:mt-0 space-y-6"> <div> <label for="companyName">Company Name *</label> <input id="companyName" name="companyName" placeholder="Company Name" type="text" x-on:click="validCompanyName=true" x-model="companyName" class="form-input" :class="{ 'form-input-invalid': !validCompanyName }" /> </div> <div> <label for="addr1">Company Registered Address</label> <input x-model="addr1" id="addr1" name="addr1" placeholder="Address Line 1" type="text" class="form-input mb-2"> <input x-model="addr2" id="addr2" name="addr2" placeholder="Address Line 2" type="text" class="form-input mb-2"> <input x-model="addr3" id="addr3" name="addr3" placeholder="Address Line 3" type="text" class="form-input mb-2"> <input x-model="addr4" id="addr4" name="addr4" placeholder="City" type="text" class="form-input mb-2"> <input x-model="postcode" id="postcode" name="postcode" placeholder="Postcode" type="text" class="form-input mb-2"> </div> <div> <label for="country">Country *</label> <select x-model="country" id="country" name="country" x-on:click="validCountry=true" class="form-input" :class="{ 'form-input-invalid': !validCountry}" /> <option value="">Select Country</option> <template x-for="country in countries"> <option :value="country.name" x-text="country.value"></option> </template> </select> </div> <div> <label for="telephone">Telephone</label> <input x-model="telephone" id="telephone" name="telephone" placeholder="Telephone" type="text" class="form-input"> </div> <div> <label for="companyNumber">Company Number </label> <input id="companyNumber" name="companyNumber" placeholder="Company Number " type="text" x-model="companyNumber" class="form-input"> </div> <div class="flex items-center"> <input id="tandc" name="tandc" type="checkbox" x-on:click="validTandC=true" class="h-6 w-6" :class="{ 'form-input-invalid bg-alert': !validTandC}" /> <label for="tandc" class="ml-3" :class="{ 'text-alert': !validTandC}"> <div class="inline-block"><p>Please accept My RSSL <a rel="noopener" href="/terms/" target="_blank" title="Terms" class="underline">Terms</a>.</p></div> <span>*</span> </label> </div> <button x-data="{ isDisabled: false }" x-on:click="if (validateRegistrationForm()) { isDisabled = true; postRegister().finally(() => isDisabled = false); }" x-bind:disabled="isDisabled" class="btn btn-pink w-full"> <span></span> <span>Register</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"> <path stroke-linecap="round" stroke-linejoin="round" d="m12.75 15 3-3m0 0-3-3m3 3h-7.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" /> </svg> </button> <a class="block text-green underline cursor-pointer" x-on:click="Alpine.nextTick(() => { resetRegistrationErrors(); screen = 'loginScreen'});"> Login instead? </a> <!-- validation starts --> <ul class="text-alert"> <!-- Validate JobTitle --> <li x-show="!validJobTitle" class="flex items-center"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> Please enter Job Title </li> <!-- Validate FirstName --> <li x-show="!validFirstName" class="flex items-center"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> Please enter First Name </li> <!-- Validate LastName --> <li x-show="!validLastName" class="flex items-center"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> Please enter Last Name </li> <!-- Validate CompanyName --> <li x-show="!validCompanyName" class="flex items-center"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> Please enter Company Name </li> <!-- Validate Country --> <li x-show="!validCountry" class="flex items-center"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> Please select Country </li> <!-- Validate Sector --> <li x-show="!validSector" class="flex items-center"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> Please select Sector </li> <!-- Validate SubSector --> <li x-show="!validSubSector" class="flex items-center"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> Please select Sub Sector </li> <!-- Validate Email --> <li x-show="!validRegisterEmail" class="flex items-center"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> Invalid Email </li> <!-- Validate Password --> <li x-show="!validRegisterPassword" class="flex items-center"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> Invalid Password </li> <!-- Validate Confirm Password --> <li x-show="!validConfirmRegisterPassword" class="flex items-center"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> Invalid Password Confirmation </li> <!-- Validate T and C --> <li x-show="!validTandC" class="flex items-center"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> Please Accept our Terms and Conditions </li> <!--API Error--> <template x-if="isErrored()"> <li class="flex items-center"> <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> Request Failed - Please contact MyRssl admin. </li> </template> </ul> <!-- validation ends --> </div> </div> </div> </div> </div> <div x-show="screen!='register'" class="bg-green min-h-[145px] text-white -mt-16"> <div class="container"> Don't have an account? <button class="btn btn-white btn-text-center" x-on:click="Alpine.nextTick(() => { getCountries(); getSectors(); resetRegistrationErrors(); screen= 'register';});"> Register </button> </div> </div> </div> <script> window.onload = function () { // Clear session storage sessionStorage.clear(); // Clear local storage //disable for now - it only stores the sidebar state //localStorage.clear(); // Prevent back navigation if (window.history && window.history.pushState) { window.history.pushState({}, null, window.location.href); window.onpopstate = function () { window.history.pushState({}, null, window.location.href); }; } }; </script> <!-- Footer --> <footer class=" bg-black-light text-white | py-10 md:pt-11 mt-24" x-data="getSidebarData()"> <div class="container"> <!-- 3 Columns Main --> <div class="grid lg:grid-cols-12"> <div class="lg:col-span-4"> <h3 class="font-medium">Get in touch</h3> <p class="font-normal my-7">Contact us to talk about sample submissions, projects and other general enquiries at RSSL</p> </div> <div class="mt-7 lg:mt-0 lg:col-start-8 lg:col-span-5 space-y-4"> <p class=""> <span class="block md:inline-block font-bold">Switchboard:</span> <a href="tel:+44 (0)118 918 4000">+44 (0)118 918 4000</a> </p> <p> <span class="block md:inline-block font-bold">Customer Services:</span> <a href="tel:+44 (0)118 918 4076">+44 (0)118 918 4076</a> </p> <p> <span class="block md:inline-block font-bold">Food & Consumer Goods:</span> <a href="mailto:foodsales@rssl.com">foodsales@rssl.com</a> </p> <p> <span class="block md:inline-block font-bold">Life Science & Pharmaceuticals:</span> <a href="mailto:lifesciencesales@rssl.com">lifesciencesales@rssl.com</a> </p> <p> <span class="block md:inline-block font-bold">Training & Consultancy:</span> <a href="mailto:trainingsales@rssl.com">trainingsales@rssl.com</a> </p> <p> <span class="font-bold">Social media:</span> </p> <div class="flex flex-row space-x-3.5"> <a href="https://www.linkedin.com/company/reading-scientific-services-ltd-rssl/" target="_blank"> <?xml version="1.0" encoding="UTF-8" ?> <svg id="Component_27_1" data-name="Component 27 – 1" xmlns="http://www.w3.org/2000/svg" width="41" height="41" viewBox="0 0 41 41"> <circle id="Ellipse_25" data-name="Ellipse 25" cx="20.5" cy="20.5" r="20.5" fill="#fff" /> <path id="linkedin-in" d="M4.214,18.823H.311V6.256h3.9ZM2.26,4.542A2.271,2.271,0,1,1,4.521,2.26,2.279,2.279,0,0,1,2.26,4.542ZM18.819,18.823H14.924V12.705c0-1.458-.029-3.328-2.029-3.328-2.029,0-2.34,1.584-2.34,3.223v6.222h-3.9V6.256H10.4V7.97h.055a4.1,4.1,0,0,1,3.693-2.029c3.949,0,4.676,2.6,4.676,5.979v6.9Z" transform="translate(11.334 11.064)" fill="#404041" /> </svg> </a> <a href="https://twitter.com/RSSLtd" target="_blank"> <svg id="Component_28_1" data-name="Component 28 – 1" xmlns="http://www.w3.org/2000/svg" width="41" height="41" viewBox="0 0 41 41"> <circle id="Ellipse_26" data-name="Ellipse 26" cx="20.5" cy="20.5" r="20.5" fill="#fff" /> <path id="x-twitter" d="M40.532,48h2.675l-5.843,6.676,6.873,9.086h-5.38L34.64,58.253l-4.82,5.509H27.141l6.248-7.142L26.8,48h5.517l3.808,5.036Zm-.94,14.164h1.482L31.51,49.516H29.918Z" transform="translate(-14.774 -34.861)" fill="#404041" /> </svg> </a> <a href="https://www.facebook.com/readingscientificservicesltd" target="_blank"> <?xml version="1.0" encoding="UTF-8" ?> <svg id="Component_29_1" data-name="Component 29 – 1" xmlns="http://www.w3.org/2000/svg" width="41" height="41" viewBox="0 0 41 41"> <circle id="Ellipse_28" data-name="Ellipse 28" cx="20.5" cy="20.5" r="20.5" fill="#fff" /> <path id="facebook-f" d="M16.567,11.639v8.272h4.511V11.639h3.364l.7-3.8H21.078V6.491c0-2.011.789-2.781,2.827-2.781.634,0,1.143.016,1.439.047V.307A13.952,13.952,0,0,0,22.641,0c-4.157,0-6.074,1.964-6.074,6.2V7.836H14v3.8Z" transform="translate(0.522 11.064)" fill="#404041" /> </svg> </a> <a href="https://www.youtube.com/channel/UCYdUuhi6CEaonvNWQtR02pw" target="_blank"> <?xml version="1.0" encoding="UTF-8" ?> <svg id="Component_30_1" data-name="Component 30 – 1" xmlns="http://www.w3.org/2000/svg" width="41" height="41" viewBox="0 0 41 41"> <circle id="Ellipse_27" data-name="Ellipse 27" cx="20.5" cy="20.5" r="20.5" fill="#fff" /> <path id="youtube" d="M35.337,66.3a2.62,2.62,0,0,0-1.846-1.857C31.863,64,25.336,64,25.336,64s-6.527,0-8.155.439A2.62,2.62,0,0,0,15.336,66.3a29.555,29.555,0,0,0,0,10.112,2.579,2.579,0,0,0,1.846,1.827c1.628.439,8.155.439,8.155.439s6.527,0,8.155-.439a2.586,2.586,0,0,0,1.846-1.827,29.554,29.554,0,0,0,0-10.112ZM23.2,74.455V68.249l5.453,3.1Z" transform="translate(-4.528 -50.861)" fill="#404041" /> </svg> </a> </div> </div> </div> <div class=" mt-7 border-0 border-t border-gray-500"> <ul class="text-gray-400 mt-7"> <li class="hover:text-pink inline-block mr-7"><a href="/privacy-notice/">Privacy Notice</a></li> <li class="hover:text-pink inline-block mr-7"><a href="/cookie-policy/">Cookies</a></li> <li class="hover:text-pink inline-block mr-7"><a href="/terms/">Terms</a></li> <li class="hover:text-pink inline-block mr-7"><a href="/accessibility-policy/">Accessibility</a></li> </ul> <p class="text-sm text-gray-400 my-7"> ©2024 Reading Scientific Services Ltd Registered & Head Office: Cadbury House, Sanderson Road, Uxbridge, Middlesex UB8 1DH Registered Number 00741326 </p> </div> </div> </footer> <!-- END Footer --> <!--AlpineJS--> <script defer src="https://unpkg.com/@alpinejs/intersect@3.13.2/dist/cdn.min.js"></script> <script defer src="https://cdn.jsdelivr.net/npm/sortablejs@1.15.0/Sortable.min.js"></script> <script defer src="https://unpkg.com/alpinejs@3.13.2/dist/cdn.min.js"></script> <!--Custom JS bundle--> <script src="/sb/inline-js-bundle.js.v44"></script> <!--Only if we actually use Umbraco Forms--> <div x-cloak class="fixed inset-0 bg-white bg-opacity-90 flex flex-col justify-center items-center z-[2000]" x-show="isLoading()"> <span class="text-2xl font-medium mb-12">PROCESSING...</span><br /> <img src="/assets/graphics/ajax-loading.gif" /> </div> <div x-cloak class="fixed inset-0 bg-white bg-opacity-90 flex flex-col justify-center items-center z-[2000]" x-show="isFileLoading()"> <!--BEGIN - shown only if file size is known--> <div x-show="$store.fileDownload.size > 0" class="text-2xl font-medium mb-4"> <span>FILE SIZE: <span x-text="Math.floor($store.fileDownload.size / 1024).toLocaleString()"></span> KB</span> </div> <div x-show="$store.fileDownload.progress > 0" class="bg-gray-200 rounded-full h-6 mb-4 w-1/3 mx-auto"> <div class="bg-purple h-6 rounded-full" :style="{ width: $store.fileDownload.progress + '%' }"></div> </div> <!--END - shown only if file size is known--> <span x-text="$store.fileDownload.text" class="text-2xl font-medium mb-4"></span> <img x-show="!$store.fileDownload.operationCompleteMessage" class="mb-4" src="/assets/graphics/ajax-loading.gif" /> <span x-text="$store.fileDownload.operationCompleteMessage" class="text-2xl font-medium mb-4"></span> <!-- Close button calling the global setFileLoading method --> <button x-show="$store.fileDownload.operationCompleteMessage" x-on:click="$nextTick(() => setFileLoading(false)); $store.fileDownload.reset()" class="btn btn-pink mb-4"> Close </button> </div> <div x-cloak class="fixed inset-0 bg-white bg-opacity-90 flex flex-col justify-center items-center z-[2000] p-7" x-show="isShowError() && !isLoading()"> <div class="modal-position"> <!-- Modal --> <div class="modal-wrapper"> <button class="modal-close-btn" x-on:click="hideError()"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-10 h-10"> <path stroke-linecap="round" stroke-linejoin="round" d="m9.75 9.75 4.5 4.5m0-4.5-4.5 4.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" /> </svg> </button> <div class="modal-content"> <div class="modal-title"> <h1 class="text-pink">My RSSL Notice</h1> </div> <div class="modal-content-inner mb-4"> <div x-show="$store.responseStatus===401"><p>Your session has expired and you have been logged out for security reasons. Please log in again by clicking the link below.</p></div> <div x-show="$store.responseStatus!==401" x-text="$store.error"></div> </div> <div class="modal-actions"> <a x-show="$store.responseStatus===401" href="/" class="btn btn-blue"> <span class="mr-2">Login</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"> <path stroke-linecap="round" stroke-linejoin="round" d="M8.25 9V5.25A2.25 2.25 0 0 1 10.5 3h6a2.25 2.25 0 0 1 2.25 2.25v13.5A2.25 2.25 0 0 1 16.5 21h-6a2.25 2.25 0 0 1-2.25-2.25V15M12 9l3 3m0 0-3 3m3-3H2.25" /> </svg> </a> <button x-show="$store.responseStatus!==401" class="btn btn-blue" x-on:click="hideError()"> <span class="mr-2">Close</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"> <path stroke-linecap="round" stroke-linejoin="round" d="m9.75 9.75 4.5 4.5m0-4.5-4.5 4.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" /> </svg> </button> </div> </div> </div> </div> </div> </body> </html>