Help
RSS
API
Feed
Maltego
Contact
Domain > www.jascopro.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-06-20
54.165.202.2
(
ClassC
)
2025-12-05
3.232.64.167
(
ClassC
)
Port 443
HTTP/1.1 200 Date: Fri, 05 Dec 2025 11:13:54 GMTContent-Type: text/html;charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveX-Content-Type-Options: nosniffSet-Cookie: JSESSIONID24B65626AEFC163BB20977BFC6B607E0.i-047b60571df574a99; Path/; Secure; HttpOnly; SameSiteNoneSet-Cookie: RhythmSessionIdcff6d1ab-3de8-4548-b87c-78e96db0b9cb; Path/; Secure; SameSiteNoneContent-Security-Policy: script-src * unsafe-eval unsafe-inline; style-src * unsafe-inline; frame-ancestors self https://mingle-portal.inforcloudsuite.com https://mingle-sso.inforcloudsuite.com;Permissions-Policy: geolocation(self), autoplay(self), payment(self), fullscreen* alwaysServer: Strict-Transport-Security: max-age31536000;includeSubDomains;preloadExpires: Thu, 01 Jan 1970 00:00:00 GMTCache-Control: private, no-cache, no-store, must-revalidatePragma: no-cacheLiferay-Portal: Liferay Digital Experience PlatformSet-Cookie: AWSALBAPP-0AAAAAAAAAAB5vu5SFVhwZwJOQANIQ/8gyhTYFj2HdQT7ZG4xznYCA/CuZ6B5qLWIaZdR/hwoAsxQCm4Ri5uopnCvrCXKMduj2rn3MgwbZwsZs5T72PFiBOCcRrAX/32rHu60sfM73ylztOE; ExpiresFri, 12 Dec 2025 11:13:54 GMT; Path/Set-Cookie: AWSALBAPP-1_remove_; ExpiresFri, 12 Dec 2025 11:13:54 GMT; Path/Set-Cookie: AWSALBAPP-2_remove_; ExpiresFri, 12 Dec 2025 11:13:54 GMT; Path/Set-Cookie: AWSALBAPP-3_remove_; ExpiresFri, 12 Dec 2025 11:13:54 GMT; Path/ !DOCTYPE html>html classltr dirltr langen-US>head> title>JascoPro Customer Portal - www.jascopro.com/title> meta contentinitial-scale1.0, widthdevice-width nameviewport /> script typetext/javascript> var currentLocale en_US; var currentGroupId 42705994; /script>meta contenttext/html; charsetUTF-8 http-equivcontent-type />meta content<meta name"robots" content"noindex"> namerobots />meta contentAccess wholesale products and manage orders easily with our user-friendly portal. langen-US namedescription />meta contentCustomer Portal , Jasco Wholesale, B2B Portal , Professional Lighting langen-US namekeywords />script typeimportmap>{imports:{react-dom:/o/frontend-js-react-web/__liferay__/exports/react-dom.js,@clayui/breadcrumb:/o/frontend-taglib-clay/__liferay__/exports/@clayui$breadcrumb.js,@clayui/charts:/o/frontend-taglib-clay/__liferay__/exports/@clayui$charts.js,@clayui/empty-state:/o/frontend-taglib-clay/__liferay__/exports/@clayui$empty-state.js,react:/o/frontend-js-react-web/__liferay__/exports/react.js,react-dom-16:/o/frontend-js-react-web/__liferay__/exports/react-dom-16.js,@clayui/navigation-bar:/o/frontend-taglib-clay/__liferay__/exports/@clayui$navigation-bar.js,@clayui/icon:/o/frontend-taglib-clay/__liferay__/exports/@clayui$icon.js,@clayui/table:/o/frontend-taglib-clay/__liferay__/exports/@clayui$table.js,@clayui/slider:/o/frontend-taglib-clay/__liferay__/exports/@clayui$slider.js,@clayui/multi-select:/o/frontend-taglib-clay/__liferay__/exports/@clayui$multi-select.js,@clayui/nav:/o/frontend-taglib-clay/__liferay__/exports/@clayui$nav.js,@clayui/provider:/o/frontend-taglib-clay/__liferay__/exports/@clayui$provider.js,@clayui/panel:/o/frontend-taglib-clay/__liferay__/exports/@clayui$panel.js,@clayui/list:/o/frontend-taglib-clay/__liferay__/exports/@clayui$list.js,@clayui/date-picker:/o/frontend-taglib-clay/__liferay__/exports/@clayui$date-picker.js,@clayui/label:/o/frontend-taglib-clay/__liferay__/exports/@clayui$label.js,@liferay/frontend-js-api/data-set:/o/frontend-js-dependencies-web/__liferay__/exports/@liferay$js-api$data-set.js,@clayui/core:/o/frontend-taglib-clay/__liferay__/exports/@clayui$core.js,@clayui/pagination-bar:/o/frontend-taglib-clay/__liferay__/exports/@clayui$pagination-bar.js,@clayui/layout:/o/frontend-taglib-clay/__liferay__/exports/@clayui$layout.js,@clayui/multi-step-nav:/o/frontend-taglib-clay/__liferay__/exports/@clayui$multi-step-nav.js,@liferay/frontend-js-api:/o/frontend-js-dependencies-web/__liferay__/exports/@liferay$js-api.js,@clayui/toolbar:/o/frontend-taglib-clay/__liferay__/exports/@clayui$toolbar.js,@clayui/badge:/o/frontend-taglib-clay/__liferay__/exports/@clayui$badge.js,react-dom-18:/o/frontend-js-react-web/__liferay__/exports/react-dom-18.js,@clayui/link:/o/frontend-taglib-clay/__liferay__/exports/@clayui$link.js,@clayui/card:/o/frontend-taglib-clay/__liferay__/exports/@clayui$card.js,@clayui/tooltip:/o/frontend-taglib-clay/__liferay__/exports/@clayui$tooltip.js,@clayui/button:/o/frontend-taglib-clay/__liferay__/exports/@clayui$button.js,@clayui/tabs:/o/frontend-taglib-clay/__liferay__/exports/@clayui$tabs.js,@clayui/sticker:/o/frontend-taglib-clay/__liferay__/exports/@clayui$sticker.js,@clayui/form:/o/frontend-taglib-clay/__liferay__/exports/@clayui$form.js,@clayui/popover:/o/frontend-taglib-clay/__liferay__/exports/@clayui$popover.js,@clayui/shared:/o/frontend-taglib-clay/__liferay__/exports/@clayui$shared.js,@clayui/localized-input:/o/frontend-taglib-clay/__liferay__/exports/@clayui$localized-input.js,@clayui/modal:/o/frontend-taglib-clay/__liferay__/exports/@clayui$modal.js,@clayui/color-picker:/o/frontend-taglib-clay/__liferay__/exports/@clayui$color-picker.js,@clayui/pagination:/o/frontend-taglib-clay/__liferay__/exports/@clayui$pagination.js,@clayui/autocomplete:/o/frontend-taglib-clay/__liferay__/exports/@clayui$autocomplete.js,@clayui/management-toolbar:/o/frontend-taglib-clay/__liferay__/exports/@clayui$management-toolbar.js,@clayui/time-picker:/o/frontend-taglib-clay/__liferay__/exports/@clayui$time-picker.js,@clayui/upper-toolbar:/o/frontend-taglib-clay/__liferay__/exports/@clayui$upper-toolbar.js,@clayui/loading-indicator:/o/frontend-taglib-clay/__liferay__/exports/@clayui$loading-indicator.js,@clayui/drop-down:/o/frontend-taglib-clay/__liferay__/exports/@clayui$drop-down.js,@clayui/data-provider:/o/frontend-taglib-clay/__liferay__/exports/@clayui$data-provider.js,@liferay/language/:/o/js/language/,@clayui/css:/o/frontend-taglib-clay/__liferay__/exports/@clayui$css.js,@clayui/alert:/o/frontend-taglib-clay/__liferay__/exports/@clayui$alert.js,@clayui/progress-bar:/o/frontend-taglib-clay/__liferay__/exports/@clayui$progress-bar.js,react-16:/o/frontend-js-react-web/__liferay__/exports/react-16.js,react-18:/o/frontend-js-react-web/__liferay__/exports/react-18.js},scopes:{}}/script>script data-senna-tracktemporary>var Liferay window.Liferay || {};Liferay.Icons Liferay.Icons || {};Liferay.Icons.controlPanelSpritemap https://www.jascopro.com/o/admin-theme/images/clay/icons.svg; Liferay.Icons.spritemap https://www.jascopro.com/o/rhythm-commerce-theme/images/clay/icons.svg;/script>script data-senna-trackpermanent typetext/javascript>window.Liferay window.Liferay || {}; window.Liferay.CSP {nonce: };/script>link data-senna-tracktemporary hrefhttps://www.jascopro.com relcanonical />link data-senna-tracktemporary hrefhttps://www.jascopro.com hreflangen-US relalternate />link data-senna-tracktemporary hrefhttps://www.jascopro.com hreflangx-default relalternate />meta propertyog:description contentAccess wholesale products and manage orders easily with our user-friendly portal.>meta propertyog:locale contenten_US>meta propertyog:locale:alternate contenten_US>meta propertyog:site_name contentwww.jascopro.com>meta propertyog:title contentJascoPro Customer Portal - www.jascopro.com - QMTMK3BF2PBXEJHP_PRD>meta propertyog:type contentwebsite>meta propertyog:url contenthttps://www.jascopro.com>link hrefhttps://www.jascopro.com/o/rhythm-commerce-theme/images/favicon.ico relapple-touch-icon />link hrefhttps://www.jascopro.com/o/rhythm-commerce-theme/images/favicon.ico relicon />link classlfr-css-file data-senna-tracktemporary hrefhttps://www.jascopro.com/o/rhythm-commerce-theme/css/clay.css?browserIdother&themeIdrhythmcommercetheme_WAR_rhythmcommercetheme&minifierTypecss&languageIden_US&t1764834454000 idliferayAUICSS relstylesheet typetext/css />style typetext/css> @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } .cookies-banner.cookies-banner-bottom { background-color: #333 !important; color: #fff; animation: fadeIn 1s; position: fixed !important; bottom: 0 !important; width: 100%; background-color: #fff; box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175); left: 0; right: 0; z-index: 990; } .cookies-banner.cookies-banner-bottom button, #cookiesBannerConfiguration button { border: 2px !important; padding: 8px 20px !important; border-radius: 8px !important; font-weight: 500 !important; color: #fff !important; text-align: center !important; text-decoration: none !important; cursor: pointer !important; box-shadow: none !important; } .cookies-banner.cookies-banner-bottom a { text-decoration: underline; color: #fff; } .cookies-banner.cookies-banner-bottom .btn-link:active:focus { box-shadow: none; } .cookies-banner.cookies-banner-bottom buttonid*configurationButton { background-color: transparent; border: none; } .cookies-banner.cookies-banner-bottom buttonid*configurationButton:hover { scale: 1.01; } #cookiesBannerConfiguration .btn-group-item:nth-child(1) button { background-color: transparent !important; border: solid 2px #1578CD !important; color: #1578CD !important; } #cookiesBannerConfiguration .btn-group-item:nth-child(1) button:hover { background-color: #fafafa; } .cookies-banner.cookies-banner-bottom buttonid*acceptAllButton, #cookiesBannerConfiguration .btn-group-item:nth-child(2) button { background-color: #1578CD !important; border: #1578CD !important; } .cookies-banner.cookies-banner-bottom buttonid*acceptAllButton:hover, #cookiesBannerConfiguration .btn-group-item:nth-child(2) button:hover { background-color: #0E548F !important; border: #0E548F !important; } .cookies-banner.cookies-banner-bottom buttonid*declineAllButton, #cookiesBannerConfiguration .btn-group-item:nth-child(3) button { background-color: #5E5E5E !important; border: #5E5E5E !important; } .cookies-banner.cookies-banner-bottom buttonid*declineAllButton:hover, #cookiesBannerConfiguration .btn-group-item:nth-child(3) button:hover { background-color: #414141 !important; border: #414141 !important; } .toggle-switch-check ~ .toggle-switch-bar::before, .toggle-switch-check:checked ~ .toggle-switch-bar::before { border-radius: 25px; } .toggle-switch-check:checked ~ .toggle-switch-bar::after { border-radius: 0 25px 25px 0; } .toggle-switch-check ~ .toggle-switch-bar::after { border-radius: 25px 0 0 25px; } #cookiesBannerConfiguration button.close::after { content: \00d7; color: black; transform: scale(2); } /* Mobile Responsiveness */ @media only screen and (max-width: 640px) { .cookies-banner.cookies-banner-bottom button, #cookiesBannerConfiguration button, .cookies-banner.cookies-banner-bottom a { padding: 8px 10px !important; } }/style> link href/combo?browserIdother&minifierTypecss&themeIdrhythmcommercetheme_WAR_rhythmcommercetheme&languageIden_US&com_liferay_announcements_web_portlet_AlertsPortlet:%2Fo%2Fannouncements-web%2Fannouncements%2Fcss%2Fmain.css&com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet:%2Fo%2Fcookies-banner-web%2Fcookies_banner%2Fcss%2Fmain.css&com_liferay_document_library_web_portlet_DLPortlet:%2Fo%2Fdocument-library-web%2Fdocument_library%2Fcss%2Fmain.css&com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_5ziiuM99QLkC:%2Fo%2Fjournal-content-web%2Fcss%2Fmain.css&com_liferay_product_navigation_product_menu_web_portlet_ProductMenuPortlet:%2Fo%2Fproduct-navigation-product-menu-web%2Fcss%2Fmain.css&com_liferay_product_navigation_user_personal_bar_web_portlet_ProductNavigationUserPersonalBarPortlet:%2Fo%2Fproduct-navigation-user-personal-bar-web%2Fcss%2Fmain.css&com_liferay_segments_experiment_web_internal_portlet_SegmentsExperimentPortlet:%2Fo%2Fsegments-experiment-web%2Fcss%2Fmain.css&rhythm_ecom_react_currency:%2Fo%2Frhythm-ecom-react-currency-portlet%2Fcss%2Findex.css&rhythmecomreactfavoriteheadermenu:%2Fo%2Frhythm-ecom-react-favoriteheadermenu-portlet%2Fcss%2Findex.css&rhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_INSTANCE_1234:%2Fo%2Frhythm-login-multi-instances-portlet%2Fcss%2Fmain.css&t1764834548000 relstylesheet typetext/css data-senna-tracktemporary id56e13d45 />script typetext/javascript data-senna-tracktemporary> // !CDATA var Liferay Liferay || {}; Liferay.Browser { acceptsGzip: function () { return false; }, getMajorVersion: function () { return 0; }, getRevision: function () { return ; }, getVersion: function () { return ; }, isAir: function () { return false; }, isChrome: function () { return false; }, isEdge: function () { return false; }, isFirefox: function () { return false; }, isGecko: function () { return false; }, isIe: function () { return false; }, isIphone: function () { return false; }, isLinux: function () { return false; }, isMac: function () { return false; }, isMobile: function () { return false; }, isMozilla: function () { return false; }, isOpera: function () { return false; }, isRtf: function () { return false; }, isSafari: function () { return false; }, isSun: function () { return false; }, isWebKit: function () { return false; }, isWindows: function () { return false; } }; Liferay.Data Liferay.Data || {}; Liferay.Data.ICONS_INLINE_SVG true; Liferay.Data.NAV_SELECTOR #navigation; Liferay.Data.NAV_SELECTOR_MOBILE #navigationCollapse; Liferay.Data.isCustomizationView function () { return false; }; Liferay.Data.notices ; (function () { var available {}; var direction {}; availableen_US English\x20\x28United\x20States\x29; directionen_US ltr; availablezh_CN Chinese\x20\x28China\x29; directionzh_CN ltr; availableda_DK Danish\x20\x28Denmark\x29; directionda_DK ltr; availablenl_NL Dutch\x20\x28Netherlands\x29; directionnl_NL ltr; availableen_AU English\x20\x28Australia\x29; directionen_AU ltr; availableen_CA English\x20\x28Canada\x29; directionen_CA ltr; availableen_KY English\x20\x28Cayman\x20Islands\x29; directionen_KY ltr; availableen_NZ English\x20\x28New\x20Zealand\x29; directionen_NZ ltr; availableen_GB English\x20\x28United\x20Kingdom\x29; directionen_GB ltr; availableet_EE Estonian\x20\x28Estonia\x29; directionet_EE ltr; availablefi_FI Finnish\x20\x28Finland\x29; directionfi_FI ltr; availablefr_CA French\x20\x28Canada\x29; directionfr_CA ltr; availablefr_FR French\x20\x28France\x29; directionfr_FR ltr; availablede_DE German\x20\x28Germany\x29; directionde_DE ltr; availablehi_IN Hindi\x20\x28India\x29; directionhi_IN ltr; availableit_IT Italian\x20\x28Italy\x29; directionit_IT ltr; availableja_JP Japanese\x20\x28Japan\x29; directionja_JP ltr; availablelv_LV Latvian\x20\x28Latvia\x29; directionlv_LV ltr; availablelt_LT Lithuanian\x20\x28Lithuania\x29; directionlt_LT ltr; availablenb_NO Norwegian\x20Bokmål\x20\x28Norway\x29; directionnb_NO ltr; availablepl_PL Polish\x20\x28Poland\x29; directionpl_PL ltr; availablees_ES Spanish\x20\x28Spain\x29; directiones_ES ltr; availablesv_SE Swedish\x20\x28Sweden\x29; directionsv_SE ltr; let _cache {}; if (Liferay && Liferay.Language && Liferay.Language._cache) { _cache Liferay.Language._cache; } Liferay.Language { _cache, available, direction, get: function(key) { let value Liferay.Language._cachekey; if (value undefined) { value key; } return value; } }; })(); var featureFlags {LPD-10964:false,LPD-37927:false,LPD-10889:false,LPS-193884:false,LPD-30371:false,LPD-36719:true,LPD-11131:true,LPS-178642:false,LPS-193005:false,LPD-31789:false,LPD-10562:false,LPD-11212:false,COMMERCE-8087:false,LPD-39304:true,LPD-13311:true,LRAC-10757:false,LPD-35941:false,LPS-180090:false,LPS-178052:false,LPD-21414:false,LPS-185892:false,LPS-186620:false,LPD-40533:true,LPD-40534:true,LPS-184404:false,LPD-40530:true,LPD-20640:false,LPS-198183:false,LPD-38869:true,LPD-35678:false,LPD-6378:false,LPS-153714:false,LPD-11848:false,LPS-170670:false,LPD-7822:false,LPS-169981:false,LPD-21926:false,LPS-177027:false,LPD-37531:false,LPD-11003:false,LPD-36446:false,LPD-39437:false,LPS-135430:false,LPD-20556:false,LPS-134060:false,LPS-164563:false,LPD-32050:false,LPS-122920:false,LPS-199086:false,LPD-35128:false,LPD-10588:false,LPD-13778:true,LPD-11313:false,LPD-6368:false,LPD-34594:false,LPS-202104:false,LPD-19955:false,LPD-35443:false,LPD-39967:false,LPD-11235:false,LPD-11232:false,LPS-196935:true,LPD-43542:false,LPS-176691:false,LPS-197909:false,LPD-29516:false,COMMERCE-8949:false,LPD-11228:false,LPS-153813:false,LPD-17809:false,COMMERCE-13024:false,LPS-165482:false,LPS-193551:false,LPS-197477:false,LPS-174816:false,LPS-186360:false,LPD-30204:false,LPD-32867:false,LPS-153332:false,LPD-35013:true,LPS-179669:false,LPS-174417:false,LPD-44091:true,LPD-31212:false,LPD-18221:false,LPS-155284:false,LRAC-15017:false,LPD-19870:false,LPS-200108:false,LPD-20131:false,LPS-159643:false,LPS-129412:false,LPS-169837:false,LPD-20379:false}; Liferay.FeatureFlags Object.keys(featureFlags).reduce( (acc, key) > ({ ...acc, key: featureFlagskey true || featureFlagskey true }), {} ); Liferay.PortletKeys { DOCUMENT_LIBRARY: com_liferay_document_library_web_portlet_DLPortlet, DYNAMIC_DATA_MAPPING: com_liferay_dynamic_data_mapping_web_portlet_DDMPortlet, ITEM_SELECTOR: com_liferay_item_selector_web_portlet_ItemSelectorPortlet }; Liferay.PropsValues { JAVASCRIPT_SINGLE_PAGE_APPLICATION_TIMEOUT: 0, UPLOAD_SERVLET_REQUEST_IMPL_MAX_SIZE: 2097152000 }; Liferay.ThemeDisplay { getLayoutId: function () { return 1; }, getLayoutRelativeControlPanelURL: function () { return /group/shop/~/control_panel/manage; }, getLayoutRelativeURL: function () { return /home; }, getLayoutURL: function () { return https://www.jascopro.com/home; }, getParentLayoutId: function () { return 0; }, isControlPanel: function () { return false; }, isPrivateLayout: function () { return false; }, isVirtualLayout: function () { return false; }, getBCP47LanguageId: function () { return en-US; }, getCanonicalURL: function () { return https\x3a\x2f\x2fwww\x2ejascopro\x2ecom; }, getCDNBaseURL: function () { return https://www.jascopro.com; }, getCDNDynamicResourcesHost: function () { return ; }, getCDNHost: function () { return ; }, getCompanyGroupId: function () { return 25107207; }, getCompanyId: function () { return 25107167; }, getDefaultLanguageId: function () { return en_US; }, getDoAsUserIdEncoded: function () { return ; }, getLanguageId: function () { return en_US; }, getParentGroupId: function () { return 42705994; }, getPathContext: function () { return ; }, getPathImage: function () { return /image; }, getPathJavaScript: function () { return /o/frontend-js-web; }, getPathMain: function () { return /c; }, getPathThemeImages: function () { return https://www.jascopro.com/o/rhythm-commerce-theme/images; }, getPathThemeRoot: function () { return /o/rhythm-commerce-theme; }, getPlid: function () { return 3944590; }, getPortalURL: function () { return https://www.jascopro.com; }, getRealUserId: function () { return 25107173; }, getRemoteAddr: function () { return 10.145.245.65; }, getRemoteHost: function () { return 10.145.245.65; }, getScopeGroupId: function () { return 42705994; }, getScopeGroupIdOrLiveGroupId: function () { return 42705994; }, getSessionId: function () { return ; }, getSiteAdminURL: function () { return https://www.jascopro.com/group/shop/~/control_panel/manage?p_p_lifecycle0&p_p_statemaximized&p_p_modeview; }, getSiteGroupId: function () { return 42705994; }, getTimeZone: function() { return UTC; }, getURLControlPanel: function() { return /group/control_panel?refererPlid3944590; }, getURLHome: function () { return https\x3a\x2f\x2fwww\x2ejascopro\x2ecom\x2fhome; }, getUserEmailAddress: function () { return ; }, getUserId: function () { return 25107173; }, getUserName: function () { return ; }, isAddSessionIdToURL: function () { return false; }, isImpersonated: function () { return false; }, isSignedIn: function () { return false; }, isStagedPortlet: function () { return false; }, isStateExclusive: function () { return false; }, isStateMaximized: function () { return false; }, isStatePopUp: function () { return false; } }; var themeDisplay Liferay.ThemeDisplay; Liferay.AUI { getCombine: function () { return true; }, getComboPath: function () { return /combo/?browserIdother&minifierType&languageIden_US&t1764834226076&; }, getDateFormat: function () { return %m/%d/%Y; }, getEditorCKEditorPath: function () { return /o/frontend-editor-ckeditor-web; }, getFilter: function () { var filter raw; filter min; return filter; }, getFilterConfig: function () { var instance this; var filterConfig null; if (!instance.getCombine()) { filterConfig { replaceStr: .js + instance.getStaticResourceURLParams(), searchExp: \\.js$ }; } return filterConfig; }, getJavaScriptRootPath: function () { return /o/frontend-js-web; }, getPortletRootPath: function () { return /html/portlet; }, getStaticResourceURLParams: function () { return ?browserIdother&minifierType&languageIden_US&t1764834226076; } }; Liferay.authToken bNq8y9S9; Liferay.currentURL \x2f; Liferay.currentURLEncoded \x252F; // >/script>script data-senna-tracktemporary typetext/javascript>window.__CONFIG__ {basePath: ,combine: true, defaultURLParams: null, explainResolutions: false, exposeGlobal: false, logLevel: warn, moduleType: module, namespace:Liferay, nonce: , reportMismatchedAnonymousModules: warn, resolvePath: /o/js_resolve_modules, url: /combo/?browserIdother&minifierTypejs&languageIden_US&t1764834226076&, waitTimeout: 60000};/script>script data-senna-trackpermanent src/o/frontend-js-loader-modules-extender/loader.js?&mac9WaMmhziBCkScHZwrrVcOR7VZF4&browserIdother&languageIden_US&minifierTypejs typetext/javascript>/script>script data-senna-trackpermanent src/o/rhythm-web/dist/vendor.module.js?browserIdother&minifierTypejs&languageIden_US&t1764834454000 typetext/javascript>/script>script data-senna-trackpermanent src/o/rhythm-web/dist/vendor.bundle.js?browserIdother&minifierTypejs&languageIden_US&t1764834454000 typetext/javascript>/script>script data-senna-tracktemporary src/o/rhythm-web/dist/common.js?browserIdother&minifierTypejs&languageIden_US&t1764834454000 typetext/javascript>/script>script data-senna-trackpermanent src/o/rhythm-web/dist/app.js?browserIdother&minifierTypejs&languageIden_US&t1764834454000 typetext/javascript>/script>script data-senna-tracktemporary srchttps://www.jascopro.com/o/rhythm-commerce-theme/js/theme.built.js?browserIdother&minifierTypejs&languageIden_US&t1764834454000 typetext/javascript>/script>script data-senna-trackpermanent src/combo?browserIdother&minifierTypejs&languageIden_US&t1764834226076&/o/frontend-js-aui-web/aui/aui/aui-min.js&/o/frontend-js-aui-web/liferay/modules.js&/o/frontend-js-aui-web/liferay/aui_sandbox.js&/o/frontend-js-aui-web/aui/attribute-base/attribute-base-min.js&/o/frontend-js-aui-web/aui/attribute-complex/attribute-complex-min.js&/o/frontend-js-aui-web/aui/attribute-core/attribute-core-min.js&/o/frontend-js-aui-web/aui/attribute-observable/attribute-observable-min.js&/o/frontend-js-aui-web/aui/attribute-extras/attribute-extras-min.js&/o/frontend-js-aui-web/aui/event-custom-base/event-custom-base-min.js&/o/frontend-js-aui-web/aui/event-custom-complex/event-custom-complex-min.js&/o/frontend-js-aui-web/aui/oop/oop-min.js&/o/frontend-js-aui-web/aui/aui-base-lang/aui-base-lang-min.js&/o/frontend-js-aui-web/liferay/dependency.js&/o/frontend-js-aui-web/liferay/util.js&/o/oauth2-provider-web/js/liferay.js&/o/frontend-js-web/liferay/dom_task_runner.js&/o/frontend-js-web/liferay/events.js&/o/frontend-js-web/liferay/lazy_load.js&/o/frontend-js-web/liferay/liferay.js&/o/frontend-js-web/liferay/global.bundle.js&/o/frontend-js-web/liferay/portlet.js&/o/frontend-js-web/liferay/workflow.js typetext/javascript>/script>script data-senna-tracktemporary src/o/rhythm-ecom-web/dist/ecom.common.js?browserIdother&minifierTypejs&languageIden_US&t1764834454000 typetext/javascript>/script>script data-senna-tracktemporary typetext/javascript>window.Liferay Liferay || {}; window.Liferay.OAuth2 {getAuthorizeURL: function() {return https://www.jascopro.com/o/oauth2/authorize;}, getBuiltInRedirectURL: function() {return https://www.jascopro.com/o/oauth2/redirect;}, getIntrospectURL: function() { return https://www.jascopro.com/o/oauth2/introspect;}, getTokenURL: function() {return https://www.jascopro.com/o/oauth2/token;}, getUserAgentApplication: function(externalReferenceCode) {return Liferay.OAuth2._userAgentApplicationsexternalReferenceCode;}, _userAgentApplications: {}}/script>script data-senna-tracktemporary typetext/javascript>try {var MODULE_MAINcalendar-web@5.0.105/index;var MODULE_PATH/o/calendar-web;/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */(function () { AUI().applyConfig({ groups: { calendar: { base: MODULE_PATH + /js/legacy/, combine: Liferay.AUI.getCombine(), filter: Liferay.AUI.getFilterConfig(), modules: { liferay-calendar-a11y: { path: calendar_a11y.js, requires: calendar, }, liferay-calendar-container: { path: calendar_container.js, requires: aui-alert, aui-base, aui-component, liferay-portlet-base, , }, liferay-calendar-date-picker-sanitizer: { path: date_picker_sanitizer.js, requires: aui-base, }, liferay-calendar-interval-selector: { path: interval_selector.js, requires: aui-base, liferay-portlet-base, }, liferay-calendar-interval-selector-scheduler-event-link: { path: interval_selector_scheduler_event_link.js, requires: aui-base, liferay-portlet-base, }, liferay-calendar-list: { path: calendar_list.js, requires: aui-template-deprecated, liferay-scheduler, , }, liferay-calendar-message-util: { path: message_util.js, requires: liferay-util-window, }, liferay-calendar-recurrence-converter: { path: recurrence_converter.js, requires: , }, liferay-calendar-recurrence-dialog: { path: recurrence.js, requires: aui-base, liferay-calendar-recurrence-util, , }, liferay-calendar-recurrence-util: { path: recurrence_util.js, requires: aui-base, liferay-util-window, }, liferay-calendar-reminders: { path: calendar_reminders.js, requires: aui-base, }, liferay-calendar-remote-services: { path: remote_services.js, requires: aui-base, aui-component, liferay-calendar-util, liferay-portlet-base, , }, liferay-calendar-session-listener: { path: session_listener.js, requires: aui-base, liferay-scheduler, }, liferay-calendar-simple-color-picker: { path: simple_color_picker.js, requires: aui-base, aui-template-deprecated, }, liferay-calendar-simple-menu: { path: simple_menu.js, requires: aui-base, aui-template-deprecated, event-outside, event-touch, widget-modality, widget-position, widget-position-align, widget-position-constrain, widget-stack, widget-stdmod, , }, liferay-calendar-util: { path: calendar_util.js, requires: aui-datatype, aui-io, aui-scheduler, aui-toolbar, autocomplete, autocomplete-highlighters, , }, liferay-scheduler: { path: scheduler.js, requires: async-queue, aui-datatype, aui-scheduler, dd-plugin, liferay-calendar-a11y, liferay-calendar-message-util, liferay-calendar-recurrence-converter, liferay-calendar-recurrence-util, liferay-calendar-util, liferay-scheduler-event-recorder, liferay-scheduler-models, promise, resize-plugin, , }, liferay-scheduler-event-recorder: { path: scheduler_event_recorder.js, requires: dd-plugin, liferay-calendar-util, resize-plugin, , }, liferay-scheduler-models: { path: scheduler_models.js, requires: aui-datatype, dd-plugin, liferay-calendar-util, , }, }, root: MODULE_PATH + /js/legacy/, }, }, });})();} catch(error) {console.error(error);}try {var MODULE_MAINcontacts-web@5.0.65/index;var MODULE_PATH/o/contacts-web;/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */(function () { AUI().applyConfig({ groups: { contactscenter: { base: MODULE_PATH + /js/legacy/, combine: Liferay.AUI.getCombine(), filter: Liferay.AUI.getFilterConfig(), modules: { liferay-contacts-center: { path: main.js, requires: aui-io-plugin-deprecated, aui-toolbar, autocomplete-base, datasource-io, json-parse, liferay-portlet-base, liferay-util-window, , }, }, root: MODULE_PATH + /js/legacy/, }, }, });})();} catch(error) {console.error(error);}try {var MODULE_MAIN@liferay/document-library-web@6.0.198/index;var MODULE_PATH/o/document-library-web;/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */(function () { AUI().applyConfig({ groups: { dl: { base: MODULE_PATH + /js/legacy/, combine: Liferay.AUI.getCombine(), filter: Liferay.AUI.getFilterConfig(), modules: { document-library-upload-component: { path: DocumentLibraryUpload.js, requires: aui-component, aui-data-set-deprecated, aui-overlay-manager-deprecated, aui-overlay-mask-deprecated, aui-parse-content, aui-progressbar, aui-template-deprecated, liferay-search-container, querystring-parse-simple, uploader, , }, }, root: MODULE_PATH + /js/legacy/, }, }, });})();} catch(error) {console.error(error);}try {var MODULE_MAINdynamic-data-mapping-web@5.0.115/index;var MODULE_PATH/o/dynamic-data-mapping-web;/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */(function () { const LiferayAUI Liferay.AUI; AUI().applyConfig({ groups: { ddm: { base: MODULE_PATH + /js/legacy/, combine: Liferay.AUI.getCombine(), filter: LiferayAUI.getFilterConfig(), modules: { liferay-ddm-form: { path: ddm_form.js, requires: aui-base, aui-datatable, aui-datatype, aui-image-viewer, aui-parse-content, aui-set, aui-sortable-list, json, liferay-form, liferay-map-base, liferay-translation-manager, liferay-util-window, , }, liferay-portlet-dynamic-data-mapping: { condition: { trigger: liferay-document-library, }, path: main.js, requires: arraysort, aui-form-builder-deprecated, aui-form-validator, aui-map, aui-text-unicode, json, liferay-menu, liferay-translation-manager, liferay-util-window, text, , }, liferay-portlet-dynamic-data-mapping-custom-fields: { condition: { trigger: liferay-document-library, }, path: custom_fields.js, requires: liferay-portlet-dynamic-data-mapping, }, }, root: MODULE_PATH + /js/legacy/, }, }, });})();} catch(error) {console.error(error);}try {var MODULE_MAINexportimport-web@5.0.100/index;var MODULE_PATH/o/exportimport-web;/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */(function () { AUI().applyConfig({ groups: { exportimportweb: { base: MODULE_PATH + /js/legacy/, combine: Liferay.AUI.getCombine(), filter: Liferay.AUI.getFilterConfig(), modules: { liferay-export-import-export-import: { path: main.js, requires: aui-datatype, aui-dialog-iframe-deprecated, aui-modal, aui-parse-content, aui-toggler, liferay-portlet-base, liferay-util-window, , }, }, root: MODULE_PATH + /js/legacy/, }, }, });})();} catch(error) {console.error(error);}try {var MODULE_MAINfrontend-editor-alloyeditor-web@5.0.56/index;var MODULE_PATH/o/frontend-editor-alloyeditor-web;/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */(function () { AUI().applyConfig({ groups: { alloyeditor: { base: MODULE_PATH + /js/legacy/, combine: Liferay.AUI.getCombine(), filter: Liferay.AUI.getFilterConfig(), modules: { liferay-alloy-editor: { path: alloyeditor.js, requires: aui-component, liferay-portlet-base, timers, , }, liferay-alloy-editor-source: { path: alloyeditor_source.js, requires: aui-debounce, liferay-fullscreen-source-editor, liferay-source-editor, plugin, , }, }, root: MODULE_PATH + /js/legacy/, }, }, });})();} catch(error) {console.error(error);}try {var MODULE_MAINfrontend-js-components-web@2.0.80/index;var MODULE_PATH/o/frontend-js-components-web;/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */(function () { AUI().applyConfig({ groups: { components: { // eslint-disable-next-line mainModule: MODULE_MAIN, }, }, });})();} catch(error) {console.error(error);}try {var MODULE_MAIN@liferay/frontend-js-react-web@5.0.54/index;var MODULE_PATH/o/frontend-js-react-web;/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */(function () { AUI().applyConfig({ groups: { react: { // eslint-disable-next-line mainModule: MODULE_MAIN, }, }, });})();} catch(error) {console.error(error);}try {var MODULE_MAIN@liferay/frontend-js-state-web@1.0.30/index;var MODULE_PATH/o/frontend-js-state-web;/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */(function () { AUI().applyConfig({ groups: { state: { // eslint-disable-next-line mainModule: MODULE_MAIN, }, }, });})();} catch(error) {console.error(error);}try {var MODULE_MAINportal-search-web@6.0.148/index;var MODULE_PATH/o/portal-search-web;/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */(function () { AUI().applyConfig({ groups: { search: { base: MODULE_PATH + /js/, combine: Liferay.AUI.getCombine(), filter: Liferay.AUI.getFilterConfig(), modules: { liferay-search-custom-range-facet: { path: custom_range_facet.js, requires: aui-form-validator, }, }, root: MODULE_PATH + /js/, }, }, });})();} catch(error) {console.error(error);}try {var MODULE_MAINportal-workflow-kaleo-designer-web@5.0.146/index;var MODULE_PATH/o/portal-workflow-kaleo-designer-web;/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */(function () { AUI().applyConfig({ groups: { kaleo-designer: { base: MODULE_PATH + /designer/js/legacy/, combine: Liferay.AUI.getCombine(), filter: Liferay.AUI.getFilterConfig(), modules: { liferay-kaleo-designer-autocomplete-util: { path: autocomplete_util.js, requires: autocomplete, autocomplete-highlighters, }, liferay-kaleo-designer-definition-diagram-controller: { path: definition_diagram_controller.js, requires: liferay-kaleo-designer-field-normalizer, liferay-kaleo-designer-utils, , }, liferay-kaleo-designer-dialogs: { path: dialogs.js, requires: liferay-util-window, }, liferay-kaleo-designer-editors: { path: editors.js, requires: aui-ace-editor, aui-ace-editor-mode-xml, aui-base, aui-datatype, aui-node, liferay-kaleo-designer-autocomplete-util, liferay-kaleo-designer-utils, , }, liferay-kaleo-designer-field-normalizer: { path: field_normalizer.js, requires: liferay-kaleo-designer-remote-services, }, liferay-kaleo-designer-nodes: { path: nodes.js, requires: aui-datatable, aui-datatype, aui-diagram-builder, liferay-kaleo-designer-editors, liferay-kaleo-designer-utils, , }, liferay-kaleo-designer-remote-services: { path: remote_services.js, requires: aui-io, }, liferay-kaleo-designer-templates: { path: templates.js, requires: aui-tpl-snippets-deprecated, }, liferay-kaleo-designer-utils: { path: utils.js, requires: , }, liferay-kaleo-designer-xml-definition: { path: xml_definition.js, requires: aui-base, aui-component, dataschema-xml, datatype-xml, , }, liferay-kaleo-designer-xml-definition-serializer: { path: xml_definition_serializer.js, requires: escape, liferay-kaleo-designer-xml-util, }, liferay-kaleo-designer-xml-util: { path: xml_util.js, requires: aui-base, }, liferay-portlet-kaleo-designer: { path: main.js, requires: aui-ace-editor, aui-ace-editor-mode-xml, aui-tpl-snippets-deprecated, dataschema-xml, datasource, datatype-xml, event-valuechange, io-form, liferay-kaleo-designer-autocomplete-util, liferay-kaleo-designer-editors, liferay-kaleo-designer-nodes, liferay-kaleo-designer-remote-services, liferay-kaleo-designer-utils, liferay-kaleo-designer-xml-util, liferay-util-window, , }, }, root: MODULE_PATH + /designer/js/legacy/, }, }, });})();} catch(error) {console.error(error);}try {var MODULE_MAINstaging-processes-web@5.0.65/index;var MODULE_PATH/o/staging-processes-web;/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */(function () { AUI().applyConfig({ groups: { stagingprocessesweb: { base: MODULE_PATH + /js/legacy/, combine: Liferay.AUI.getCombine(), filter: Liferay.AUI.getFilterConfig(), modules: { liferay-staging-processes-export-import: { path: main.js, requires: aui-datatype, aui-dialog-iframe-deprecated, aui-modal, aui-parse-content, aui-toggler, liferay-portlet-base, liferay-util-window, , }, }, root: MODULE_PATH + /js/legacy/, }, }, });})();} catch(error) {console.error(error);}try {var MODULE_MAINnull;var MODULE_PATH/o/liferay-session-override-web;;(function() { var base MODULE_PATH + /js/; AUI().applyConfig({ groups: { mymodulesoverride: { base: base, combine: Liferay.AUI.getCombine(), filter: Liferay.AUI.getFilterConfig(), modules: { liferay-session-override: { path: session-override.js, condition: { name: liferay-session-override, trigger: liferay-session, when: instead } } }, root: base } } });})();} catch(error) {console.error(error);}/script>script typetext/javascript data-senna-tracktemporary> // !CDATA // >/script> script src/combo?browserIdother&minifierTypejs&themeIdrhythmcommercetheme_WAR_rhythmcommercetheme&languageIden_US&rhythmdynamicmenuheaderportlet_WAR_rhythmdynamicmenuportlet:%2Fo%2Frhythm-dynamicmenu-portlet%2Fbuild%2FWidget.js&rhythmecomblanketagreementjobspecificportlet_WAR_rhythmecomblanketagreementjobspecificportlet:%2Fo%2Frhythm-ecom-blanket-agreement-job-specific-portlet%2Fbuild%2FWidget.js&rhythmecomcustomerdropdownportlet_WAR_rhythmecomcustomerdropdownportlet:%2Fo%2Frhythm-ecom-customer-dropdown-portlet%2Fbuild%2FWidget.js&rhythmecomdynamicsearchportlet_WAR_rhythmecomdynamicsearchportlet:%2Fo%2Frhythm-ecom-dynamicsearch-portlet%2Fbuild%2FWidget.js&rhythmecomlanguageportlet_WAR_rhythmecomlanguageportlet:%2Fo%2Frhythm-ecom-language-portlet%2Fbuild%2FWidget.js&rhythmecomlocationselectorportlet_WAR_rhythmecomlocationselectorportlet:%2Fo%2Frhythm-ecom-location-selector-portlet%2Fbuild%2FWidget.js&rhythmecommarketselectorportlet_WAR_rhythmecommarketselectorportlet:%2Fo%2Frhythm-ecom-market-selector-portlet%2Fbuild%2FWidget.js&rhythmecomminicartportlet_WAR_rhythmecomminicartportlet:%2Fo%2Frhythm-ecom-minicart-portlet%2Fbuild%2FWidget.js&rhythmlanguageportlet_WAR_rhythmlanguageportlet:%2Fo%2Frhythm-language-portlet%2Fbuild%2FWidget.js&rhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_INSTANCE_1234:%2Fo%2Frhythm-login-multi-instances-portlet%2Fbuild%2FWidget.js&rhythmmarketcontactinfoportlet_WAR_rhythmmarketcontactinfoportlet:%2Fo%2Frhythm-market-contact-info-portlet%2Fbuild%2FWidget.js&rhythmmyaccountportlet_WAR_rhythmmyaccountportlet:%2Fo%2Frhythm-myaccount-portlet%2Fbuild%2FWidget.js&rhythmsocialmediaportlet_WAR_rhythmsocialmediaportlet_INSTANCE_mainfooterinstanceid:%2Fo%2Frhythm-social-media-portlet%2Fbuild%2FWidget.js&t1764834558000 typetext/javascript data-senna-tracktemporary>/script>link classlfr-css-file data-senna-tracktemporary hrefhttps://www.jascopro.com/o/rhythm-commerce-theme/css/main.css?browserIdother&themeIdrhythmcommercetheme_WAR_rhythmcommercetheme&minifierTypecss&languageIden_US&t1764834454000 idliferayThemeCSS relstylesheet typetext/css /> style data-senna-tracksenna typetext/css> #p_p_id_rhythmdynamicmenufooterportlet_WAR_rhythmdynamicmenuportlet_ .portlet-content {} #p_p_id_rhythmdynamicmenuheaderportlet_WAR_rhythmdynamicmenuportlet_ .portlet-content {margin-top: 1px;padding-top: 1px;text-align: left} #p_p_id_rhythmecomdynamicsearchportlet_WAR_rhythmecomdynamicsearchportlet_ .portlet-content {font-size: 0.5em} /style>style data-senna-tracktemporary typetext/css> :root { --h4-font-size: 1rem; --unchecked-border-color: #5e5e5e; --enabled-background-color: #1578cd; --content-box-top-heading-color: var(--font-color); --prim-link-color: #1578cd; --main-menu-text-color-hover: #333; --footer-background: #4d4d4d; --h1-font-color: var(--h-font-color); --price-font-size-large: 1.5rem; --main-nav-background-image: none; --font-color: #333; --h5-font-weight: 700; --util-menu-background: #333333; --content-box-top-background: #fff; --h4-font-weight: 700; --sec-button-background-color: #5e5e5e; --tert-link-color: #1578cd; --content-background-image: none; --h6-font-color: var(--h-font-color); --h6-font-weight: 700; --util-menu-text-color: #fff; --main-nav-background-color: #fff; --content-background-color: #fff; --sec-link-hover-color: #1268b1; --h3-font-size: 1.125rem; --util-menu-sep-border-color: #5e5e5e; --prim-button-background-color-hover: #094070; --h1-font-weight: 400; --h3-font-weight: 700; --h2-font-weight: 400; --total-font-size-small: 1rem; --tert-link-hover-color: #1268b1; --tert-link-hover-text-decoration: underline; --prim-button-text-color-hover: #fff; --footer-background-image: none; --alerts-background-color: #aa2ede; --button-radius: 2px; --h-font-color: var(--font-color); --sec-button-background-color-hover: #4d4c4c; --prim-link-hover-text-decoration: underline; --util-menu-sep-border-width: 1px; --prim-link-hover-color: #1268b1; --hamburger-menu-selected-color: #4d4c4c; --h3-font-family: var(--h-font-family); --h4-font-family: var(--h-font-family); --h6-font-size: 0.875rem; --h2-font-size: 1.5rem; --h6-font-family: var(--h-font-family); --h5-font-color: var(--h-font-color); --address-font-size: 0.875rem; --h5-font-family: var(--h-font-family); --p-font-size: 0.875rem; --h-font-family: var(--font-stack); --footer-content: #ccc; --sec-link-hover-text-decoration: underline; --tert-link-text-decoration: underline; --font-stack: Helvetica Neue, Helvetica, Arial, sans-serif; --total-font-size-large: 1.5rem; --hamburger-menu-main-color: #333; --dynamic-menu-prim-column-width: 250px; --h2-font-color: var(--h-font-color); --h5-font-size: 0.875rem; --prim-button-background-color: #1578cd; --h3-font-color: var(--h-font-color); --dynamic-menu-sub-column-width: 200px; --sec-button-text-color: #fff; --hamburger-menu-alternate-color: #fff; --alerts-border-color: #aa2ede; --prim-button-text-color: #fff; --sec-link-text-decoration: underline; --h1-font-size: 2.25rem; --footer-social-media-color: #fff; --prim-link-text-decoration: underline; --sec-link-color: #333; --unchecked-background: #fff; --price-font-size-small: 1rem; --main-menu-text-color: #333; --sec-button-text-color-hover: #fff; --checked-background: #1578cd; --h2-font-family: var(--h-font-family); --input-font-size-mobile: 1rem; --price-font-size-discount: 0.875rem; --h1-font-family: var(--h-font-family); --h4-font-color: var(--h-font-color); --checkmark-color: #fff; } :root { --font-stack: Gotham,Helvetica Neue, Helvetica, Arial, sans-serif,; --enabled-background-color: #00aeef; --dynamic-menu-sub-column-width: 150px; --prim-link-color: #00aeef ; --alerts-background-color: #fcfcfc; --footer-background: #333333; --dynamic-menu-prim-column-width: 200px; --alerts-border-color: #ffffff; --checked-background: #00a6d6; --prim-button-background-color: #00aeef; --footer-social-media-color: #333333; }/style>link data-senna-trackpermanent href/o/frontend-js-aui-web/alloy_ui.css?&macfavIEq7hPo8AEd6k+N5OVADEEls&browserIdother&languageIden_US&minifierTypecss&themeIdrhythmcommercetheme_WAR_rhythmcommercetheme relstylesheet>/link>link data-senna-tracktemporary href/o/layout-common-styles/main.css?plid3944590&segmentsExperienceId52686507&t1755618417666 relstylesheet typetext/css>script typetext/javascript data-senna-tracktemporary> if (window.Analytics) { window._com_liferay_document_library_analytics_isViewFileEntry false; }/script>script typetext/javascript>Liferay.on( ddmFieldBlur, function(event) { if (window.Analytics) { Analytics.send( fieldBlurred, Form, { fieldName: event.fieldName, focusDuration: event.focusDuration, formId: event.formId, formPageTitle: event.formPageTitle, page: event.page, title: event.title } ); } });Liferay.on( ddmFieldFocus, function(event) { if (window.Analytics) { Analytics.send( fieldFocused, Form, { fieldName: event.fieldName, formId: event.formId, formPageTitle: event.formPageTitle, page: event.page, title:event.title } ); } });Liferay.on( ddmFormPageShow, function(event) { if (window.Analytics) { Analytics.send( pageViewed, Form, { formId: event.formId, formPageTitle: event.formPageTitle, page: event.page, title: event.title } ); } });Liferay.on( ddmFormSubmit, function(event) { if (window.Analytics) { Analytics.send( formSubmitted, Form, { formId: event.formId, title: event.title } ); } });Liferay.on( ddmFormView, function(event) { if (window.Analytics) { Analytics.send( formViewed, Form, { formId: event.formId, title: event.title } ); } });/script>script>/script>!--uploadable favicons-->link relicon typeimage/png href/image/image?img_id44452245&t1764928170300?v2 />link relicon typeimage/jpg href/image/image?img_id44452245&t1764928170300?v2 />link relshortcut icon typeimage/x-icon href/image/image?img_id44452245&t1764928170300?v2 />link relicon typeimage/png sizes16x16 href/image/image?img_id44452245&t1764928170300>link relicon typeimage/png sizes32x32 href/image/image?img_id44452245&t1764928170300>link relmanifest href/c/portal/favicon/manifest?lid5127283>meta namemobile-web-app-capable contentyes>meta nametheme-color content#333333>meta nameapplication-name contentwww.jascopro.com>link relapple-touch-icon sizes57x57 href/image/image?img_id44452245&t1764928170300>link relapple-touch-icon sizes60x60 href/image/image?img_id44452245&t1764928170300>link relapple-touch-icon sizes72x72 href/image/image?img_id44452245&t1764928170300>link relapple-touch-icon sizes76x76 href/image/image?img_id44452245&t1764928170300>link relapple-touch-icon sizes114x114 href/image/image?img_id44452245&t1764928170300>link relapple-touch-icon sizes120x120 href/image/image?img_id44452245&t1764928170300>link relapple-touch-icon sizes144x144 href/image/image?img_id44452245&t1764928170300>link relapple-touch-icon sizes152x152 href/image/image?img_id44452245&t1764928170300>link relapple-touch-icon sizes167x167 href/image/image?img_id44452245&t1764928170300>link relapple-touch-icon sizes180x180 href/image/image?img_id44452245&t1764928170300>link relapple-touch-icon sizes1024x1024 href/image/image?img_id44452245&t1764928170300>meta nameapple-mobile-web-app-capable contentyes>meta nameapple-mobile-web-app-status-bar-style contentblack-translucent>meta nameapple-mobile-web-app-title contentwww.jascopro.com>!-- Add Here apple-touch-startup-images -->link relapple-touch-startup-image media(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1) href/image/image?img_id44452245&t1764928170300>link relapple-touch-startup-image media(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2) href/image/image?img_id44452245&t1764928170300>link relapple-touch-startup-image media(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) href/image/image?img_id44452245&t1764928170300>link relapple-touch-startup-image media(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) href/image/image?img_id44452245&t1764928170300>link relapple-touch-startup-image media(device-width: 414px) and (device-height: 736px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3) href/image/image?img_id44452245&t1764928170300>link relapple-touch-startup-image media(device-width: 414px) and (device-height: 736px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3) href/image/image?img_id44452245&t1764928170300>link relapple-touch-startup-image media(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1) href/image/image?img_id44452245&t1764928170300>link relapple-touch-startup-image media(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1) href/image/image?img_id44452245&t1764928170300>link relapple-touch-startup-image media(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2) href/image/image?img_id44452245&t1764928170300>link relapple-touch-startup-image media(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2) href/image/image?img_id44452245&t1764928170300>meta namemsapplication-TileColor content#333333>meta namemsapplication-TileImage content/image/image?img_id44452245&t1764928170300>meta namemsapplication-config content/c/portal/favicon/browserconfig?lid5127283> /head>body classrhy-body other controls-visible yui3-skin-sam signed-out public-page site> div styledisplay: none;>?xml version1.0 encodingUTF-8?>!DOCTYPE svg PUBLIC -//W3C//DTD SVG 1.1//EN http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd>svg xmlnshttp://www.w3.org/2000/svg xmlns:xlinkhttp://www.w3.org/1999/xlink> !-- Add platform theme specific icons as symbols in this file and theyll be included in svg.ftl -->symbol idstock-high viewBox0 0 7.7 22> rect fill#007f00 x0 y15.4 width7.7 height6.6/> rect fill#007f00 x0 y0 width7.7 height7/> rect fill#007f00 x0 y8 width7.7 height6.4/>/symbol>symbol idstock-low viewBox0 0 7.7 22> rect fill#007f00 idsvg_1 height6.6 width7.7 y15.4 x0/> rect fill#b2b2b2 idsvg_2 height7 width7.7 y0 x0/> rect fill#b2b2b2 idsvg_3 height6.4 width7.7 y8 x0/>/symbol>symbol idstock-medium viewBox0 0 7.7 22> rect fill#007f00 idsvg_1 height6.6 width7.7 y15.4 x0/> rect fill#b2b2b2 idsvg_2 height7 width7.7 y0 x0/> rect fill#007f00 idsvg_3 height6.4 width7.7 y8 x0/>/symbol>symbol idstock-null viewBox0 0 7.7 22> path dM 0 0 L 0 22 L 7.7 22 L 7.7 0 Z M 1 14.4 L 1 8 L 6.7 8 L 6.7 14.4 Z M 6.7 1 L 6.7 7 L 1 7 L 1 1 Z M 1.0237 15.4208 L 6.75543 15.4208 L 6.75543 20.9827 L 1.0236999999999998 20.9827 Z fill#cccccc/>/symbol>symbol idapproved viewBox0 0 22 22> circle fill#55910b classcls-1 cx11 cy11 r11/> path fill#fff classcls-2 dM17,8.9l-6.69,7a.43.43,0,0,1-.28-.1l-3.94-4a.39.39,0,0,1,.09-.3L7.67,10a.16.16,0,0,1,.27,0l2.3,2.29,5-5.29a.16.16,0,0,1,.27,0L17,8.5c.09.1.09.1.09.2A.33.33,0,0,1,17,8.9Z/>/symbol>symbol idcancelled viewBox0 0 22 22> circle fill#d0021b cx11 cy11 r11/> path fill#fff dM11,14.8A3.74,3.74,0,0,0,13.27,14L8,8.73A3.74,3.74,0,0,0,7.2,11,3.8,3.8,0,0,0,11,14.8M14.8,11A3.8,3.8,0,0,0,11,7.2,3.74,3.74,0,0,0,8.73,8L14,13.27A3.74,3.74,0,0,0,14.8,11M11,6.11A4.89,4.89,0,1,1,6.11,11,4.89,4.89,0,0,1,11,6.11/>/symbol>symbol idrejected viewBox0 0 22 22> circle fill#d0021b cx11 cy11 r11/> polygon fill#fff points15.89 14.49 12.3 11 15.89 7.51 14.59 6.25 11 9.73 7.42 6.25 6.11 7.51 9.7 11 6.11 14.49 7.42 15.75 11 12.27 14.59 15.75 15.89 14.49/>/symbol>symbol idsent viewBox0 0 22 22> circle fill#9013fe cx11 cy11 r11/> polygon fill#fff points11 14 11 10 11 6 17 10 11 14/> path fill#fff classcls-3 dM12,12a2.92,2.92,0,0,0-.84-.14,5.13,5.13,0,0,0-1,0,4.66,4.66,0,0,0-1.85.55,3.88,3.88,0,0,0-1.49,1.42A6.69,6.69,0,0,0,6,16a7.19,7.19,0,0,1-.08-2.5A5.52,5.52,0,0,1,7,11,7.44,7.44,0,0,1,9.16,9.05a10,10,0,0,1,1.32-.63A7.34,7.34,0,0,1,12,8Z/>/symbol>symbol idgreen-indicator viewBox0 0 22 22> circle cx10 cy10 r10 fill#178541 />/symbol>symbol idnew-document viewBox0 0 18 18> path dM9.5.5h7v11.77c0 2.888-2.28 5.23-5.09 5.23H2.5V7.692M2 3.5h7M5.5 0v7 strokecurrentColor fillnone fill-ruleevenodd vector-effectnon-scaling-stroke />/symbol>symbol iddocument viewBox0 0 18 18> path dM1.5.5h14v11.77c0 2.888-2.28 5.23-5.09 5.23H1.5V.5zm2.5 8h6m-6-3h9 strokecurrentColor fillnone fill-ruleevenodd vector-effectnon-scaling-stroke />/symbol>symbol idsearch-folder viewBox0 0 18 18> path dM17.5 16.5l-3-3m-4.34 0H.5v-12h4.508L8 3.5h6.5v5m1.5 2.75a3.25 3.25 0 11-6.499.001A3.25 3.25 0 0116 11.25z strokecurrentColor fillnone fill-ruleevenodd vector-effectnon-scaling-stroke/>/symbol>symbol iderror viewBox0 0 12 12> path dM12,10.4L7.6,6L12,1.6L10.4,0L6,4.4L1.6,0L0,1.6L4.4,6L0,10.4L1.6,12L6,7.6l4.4,4.4L12,10.4z fillred/>/symbol>symbol idkebab viewBox0 0 12 12> path dM5 3c0 .5.5 1 1 1 .6 0 1-.5 1-1 0-.6-.4-1-1-1-.5 0-1 .4-1 1zM5 6c0 .5.5 1 1 1 .6 0 1-.5 1-1 0-.6-.4-1-1-1-.5 0-1 .4-1 1zM5 9c0 .5.5 1 1 1 .6 0 1-.5 1-1 0-.6-.4-1-1-1-.5 0-1 .4-1 1z/>/symbol>symbol idcopy-item focusablefalse viewbox0 0 18 18> path dM13 11.5h2.5v-9h-10V4m-3 3V5.5H4m1 0h2m.941 0h2.118M12.5 7V5.5H11m-3 10h2m2.5-2.5v-2m0-1V8m0 5.94v1.56H11m-4.5-.032a4.298 4.298 0 01-2.118-.866M3.5 13.94c-.5-.52-1-1.04-1-2.53m0-1.41V8 strokecurrentColor vector-effectnon-scaling-stroke filltransparent>/path>/symbol>symbol idedit-item focusablefalse viewbox0 0 18 18> path dM10.716 4.675L13.5 7.5m-5.5 8h7m-12.5 0v-3L13 2l3 3L5.5 15.5h-3z strokecurrentColor vector-effectnon-scaling-stroke filltransparent>/path>/symbol>symbol idbudget viewBox0 0 80 80 fillnone> path dM66 23H6c-1.3 0-2.5.35-3 1.85V76a2 2 0 0 0 2 2h56c2.21 0 4-1.79 4-4h1c2.21 0 4-1.79 4-4V27c0-2.21-1.79-4-4-4z fill#C5C5C9 opacity.5/> path dM8.504 20.5c-1.71 0-3.09 1.43-3 3.16.08 1.62 1.54 2.84 3.17 2.84h54.83c2.21 0 4 1.79 4 4v41h1c2.21 0 4-1.79 4-4v-43c0-2.21-1.79-4-4-4h-60z fill#A1E4BF/> path dM8.504 20.5c-1.71 0-3.09 1.43-3 3.16.08 1.62 1.54 2.84 3.17 2.84h54.83c2.21 0 4 1.79 4 4v41h1c2.21 0 4-1.79 4-4v-43c0-2.21-1.79-4-4-4h-60z stroke#6F6F76 stroke-miterlimit10 vector-effectnon-scaling-stroke/> path fill#fff stroke#6F6F76 stroke-dasharray2 2 stroke-miterlimit10 dm54.948 3.183-46.765 27 15 25.98 46.765-27z vector-effectnon-scaling-stroke/> path dM48.26 31.052a8.194 8.194 0 0 0-.558-2.08l-.461.192a7.834 7.834 0 0 0-.45-.91l-.559-.967.433-.25-1.117-1.936-.433.25-.56-.968a7.844 7.844 0 0 0-.562-.845l.397-.303a8.193 8.193 0 0 0-1.522-1.524l-.305.397a7.745 7.745 0 0 0-1.753-1.01l.191-.462a8.297 8.297 0 0 0-2.08-.558l-.066.496a7.742 7.742 0 0 0-2.023-.002l-.065-.496a8.196 8.196 0 0 0-2.08.559l.192.462a7.834 7.834 0 0 0-1.754 1.012l-.304-.397a8.187 8.187 0 0 0-1.524 1.522l.397.305a7.736 7.736 0 0 0-1.01 1.753l-.462-.191a8.297 8.297 0 0 0-.558 2.08l.496.066a7.742 7.742 0 0 0-.002 2.023l-.495.065c.092.703.276 1.402.558 2.08l.462-.192c.128.309.278.612.45.91l.558.968-.433.25 1.118 1.936.433-.25.559.968c.171.297.36.579.563.844l-.397.304a8.16 8.16 0 0 0 1.522 1.523l.304-.396a7.747 7.747 0 0 0 1.753 1.01l-.191.462a8.297 8.297 0 0 0 2.08.557l.066-.495a7.74 7.74 0 0 0 2.023.001l.065.496a8.196 8.196 0 0 0 2.08-.558l-.192-.462a7.835 7.835 0 0 0 1.755-1.013l.304.397a8.193 8.193 0 0 0 1.523-1.522l-.396-.304a7.739 7.739 0 0 0 1.01-1.753l.462.19a8.297 8.297 0 0 0 .557-2.08l-.495-.065a7.74 7.74 0 0 0 .001-2.023l.496-.066zm11.155-18.97c.2-.118.362-.227.488-.318l-.236-.408.433-.25-.903-1.565-.433.25-.904-1.564.433-.25-.903-1.565-.433.25-.904-1.565.433-.25-.903-1.565-.433.25-.202-.349-.353.204-.25-.433-1.571.907.25.433-1.572.908-.25-.433-1.572.907.25.433-1.572.908-.25-.433-1.572.907.25.433-.412.238c.067.153.16.346.281.567l-.438.24a9.111 9.111 0 0 0 1.322 1.822l.365-.34c.438.468.977.94 1.633 1.358l-.269.421a9.287 9.287 0 0 0 2.031.97l.16-.474c.326.11.67.207 1.036.287.353.077.694.136 1.024.179l-.064.496c.779.1 1.5.114 2.16.068l-.035-.499a9.28 9.28 0 0 0 2.018-.363l.143.479a8.857 8.857 0 0 0 1.98-.86l-.256-.43zm.798-.561zM17.131 25.683a6.559 6.559 0 0 0-.316-.484l-.413.239-.25-.433-1.573.908.25.433-1.573.908-.25-.433-1.573.908.25.433-1.573.909-.25-.433-1.573.908.25.433-.354.204.201.349-.433.25.903 1.563.433-.25.903 1.564-.433.25.902 1.563.433-.25.903 1.563-.433.25.903 1.564.433-.25.235.408a7.82 7.82 0 0 0 .57-.284l.24.438a9.252 9.252 0 0 0 1.831-1.324l-.34-.366a8.578 8.578 0 0 0 1.371-1.634l.42.271c.379-.585.718-1.26.984-2.032l-.472-.163c.112-.326.21-.672.293-1.038.08-.35.14-.69.184-1.019l.495.067c.105-.776.122-1.494.08-2.152l-.5.032a9.153 9.153 0 0 0-.353-2.01l.48-.141a8.717 8.717 0 0 0-.855-1.974l-.43.255zm1.585 21.581c-.2.119-.362.228-.488.318l.236.409-.433.25.904 1.564.433-.25.903 1.565-.433.25.903 1.565.433-.25.904 1.565-.433.25.903 1.564.433-.25.202.35.353-.204.25.433 1.572-.907-.25-.433 1.572-.908.25.433 1.571-.908-.25-.433 1.572-.907.25.433 1.572-.907-.25-.434.413-.238a7.434 7.434 0 0 0-.282-.566l.438-.24a9.116 9.116 0 0 0-1.322-1.823l-.365.342a8.469 8.469 0 0 0-1.633-1.36l.27-.42a9.289 9.289 0 0 0-2.032-.97l-.16.474a9.791 9.791 0 0 0-1.036-.287 11.865 11.865 0 0 0-1.024-.179l.064-.496c-.778-.1-1.5-.114-2.16-.068l.035.498c-.76.053-1.434.19-2.017.364l-.143-.48a8.853 8.853 0 0 0-1.98.861l.255.43zM61 33.664c.117.197.226.359.316.484l.413-.239.25.433 1.573-.908-.25-.433 1.573-.908.25.433 1.573-.909-.25-.433 1.574-.908.25.433 1.573-.908-.25-.433.353-.204-.201-.349.433-.25-.903-1.563-.433.25-.902-1.564.433-.25-.903-1.563-.433.25-.903-1.564.433-.25-.902-1.563-.433.25-.236-.408a7.586 7.586 0 0 0-.57.284l-.24-.439a9.26 9.26 0 0 0-1.83 1.324l.34.367a8.577 8.577 0 0 0-1.372 1.634l-.42-.272a9.339 9.339 0 0 0-.984 2.033l.473.163a9.777 9.777 0 0 0-.294 1.037c-.079.352-.14.691-.184 1.02l-.495-.067a10.848 10.848 0 0 0-.08 2.152l.5-.033c.049.758.182 1.43.353 2.01l-.479.142c.248.837.572 1.5.854 1.974l.43-.255z fill#FAFAFA stroke#6F6F76 stroke-dasharray2 2 vector-effectnon-scaling-stroke/> path dM67.5 30.744v41c0 2.21-1.79 4-4 4h-58v-52c0 1.66 1.34 3 3 3h55c2.21 0 4 1.79 4 4z fill#CBEFDC/> path dM67.5 30.5v41c0 2.21-1.79 4-4 4h-58v-52c0 1.66 1.34 3 3 3h55c2.21 0 4 1.79 4 4z stroke#6F6F76 stroke-miterlimit10 vector-effectnon-scaling-stroke/> path dM72.5 39.5c2.21 0 4 1.79 4 4v7h-4v-11z fill#C2A1F1/> path dM72.5 39.5c2.21 0 4 1.79 4 4v7h-4v-11z stroke#6F6F76 stroke-miterlimit10 vector-effectnon-scaling-stroke/> path dM67 61H56c-1.66 0-3-1.34-3-3v-5c0-1.66 1.34-3 3-3h11v11z fill#A1E4BF/> path dM76.5 43.5v11c0 2.21-1.79 4-4 4h-15c-1.66 0-3-1.34-3-3v-5c0-1.66 1.34-3 3-3h15c2.21 0 4-1.79 4-4z fill#F1EBFC/> path dM76.5 43.5v11c0 2.21-1.79 4-4 4h-15c-1.66 0-3-1.34-3-3v-5c0-1.66 1.34-3 3-3h15c2.21 0 4-1.79 4-4z stroke#6F6F76 stroke-miterlimit10 vector-effectnon-scaling-stroke/> path dM59.54 55.744a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 0 0 5z fill#C2A1F1/>/symbol>symbol idagent viewBox0 0 18 18> path dM5 5.5a4 4 0 1 1 8 0v1a1.25 1.25 0 1 1-.102 2.496A2.751 2.751 0 0 1 10.25 11H9V9.5h1.25c.69 0 1.25-.56 1.25-1.25V5.5a2.5 2.5 0 0 0-5 0V9H5a1.25 1.25 0 1 1 0-2.5v-1zM6.75 12A3.75 3.75 0 0 0 3 15.75V16h12v-.25A3.75 3.75 0 0 0 11.25 12h-4.5z/>/symbol>symbol idai-generated viewBox0 0 18 18 fillnone xmlnshttp://www.w3.org/2000/svg> path fill-ruleevenodd clip-ruleevenodd dM12 10c-.11 0-.21.08-.24.18l-.4 1.55c-.04.15-.12.29-.23.4-.11.11-.25.19-.4.23l-1.55.4c-.11.03-.18.13-.18.24 0 .11.08.21.18.24l1.55.4c.15.04.29.12.4.23.11.11.19.25.23.4l.4 1.55c.03.11.12.18.24.18s.21-.07.24-.18l.4-1.55c.04-.15.12-.29.23-.4.11-.11.25-.19.4-.23l1.55-.4c.11-.03.18-.12.18-.24s-.07-.21-.18-.24l-1.55-.4a.895.895 0 0 1-.4-.23.895.895 0 0 1-.23-.4l-.4-1.55A.238.238 0 0 0 12 10ZM6.524 1.981a.39.39 0 0 0-.361.272L5.56 6.568c-.06.226-.18.437-.346.603a1.349 1.349 0 0 1-.603.346l-2.315.603a.37.37 0 0 0-.272.361c0 .166.121.317.272.362l2.315.603c.226.06.437.18.603.346.165.166.286.377.346.603l.603 4.315c.045.166.18.271.361.271s.317-.105.362-.27l.603-4.316c.06-.226.18-.437.346-.603.166-.165.377-.286.603-.346l2.315-.603a.358.358 0 0 0 .271-.362.358.358 0 0 0-.27-.361l-2.316-.603a1.349 1.349 0 0 1-.603-.346 1.349 1.349 0 0 1-.346-.603l-.603-4.315a.358.358 0 0 0-.362-.272Z fillcurrentColor/> path fill-ruleevenodd clip-ruleevenodd dM13.5 3a.215.215 0 0 0-.2.15l-.333 1.292a.747.747 0 0 1-.525.525L11.15 5.3a.205.205 0 0 0-.15.2c0 .092.067.175.15.2l1.292.333a.746.746 0 0 1 .525.525L13.3 7.85c.025.092.1.15.2.15s.175-.058.2-.15l.333-1.292a.747.747 0 0 1 .525-.525L15.85 5.7c.092-.025.15-.1.15-.2s-.058-.175-.15-.2l-1.292-.333a.746.746 0 0 1-.525-.525L13.7 3.15a.198.198 0 0 0-.2-.15Z fill#7928E1/>/symbol>!-- Add industry theme specific icons as symbols in this file and theyll be included in svg.ftl -->!-- Add customer theme specific icons as symbols in this file and theyll be included in svg.ftl -->!-- Add brand theme specific icons as symbols in this file and theyll be included in svg.ftl --> symbol idaccessibility viewBox0 0 200 200> ellipse cx100 cy100 rx95 ry95 fill#39b54a>/ellipse> text transformmatrix(.9727 0 0 1 50.906 147.196) font-size155.306 fill#fff> A /text> /symbol> symbol idaddress viewBox0 0 14 18> path dM1,16H0v2h14v-2h-1V0H1 M3,2h3v3H3V2z M3,7h3v3H3V7z M11,17H8v-5h3V17z M11,10H8V7h3V10z M11,5H8V2h3V5z/> /symbol> symbol idalert viewBox0 0 18 18> path dM9,0C4,0,0,4,0,9s4,9,9,9s9-4,9-9C18,4,14,0,9,0z M9.9,13.5l-2,0l0-2l2,0L9.9,13.5z M10,6l-0.6,4.7l-1,0L7.9,6l0-2.6l2.1,0 L10,6z/> /symbol> symbol idannouncement viewBox0 5 18 13> path dM17.68 5.166c-.2-.16-.438-.2-.68-.14L2.818 8.563H.8c-.44 0-.8.34-.8.78v3.177c.02.438.36.798.8.798h2.036l1.58.4-.48 1.997c-.1.38.12.78.52.86l4.454 1.118c.06.02.12.02.2.02.12 0 .26-.04.38-.1.14-.1.26-.26.3-.44l.5-1.997 6.73 1.678c.06.02.12.02.2.02.18 0 .36-.06.48-.18.2-.14.3-.38.3-.62V5.767c-.02-.22-.14-.46-.32-.6zM8.55 16.134l-3.076-.78.32-1.298 3.077.78-.32 1.298z fill-ruleevenodd/> /symbol> symbol idarrow-up-down viewBox0 0 25.9 16.3> path dM8.8,16.3V7.7h3.1L5.9,0L0,7.7h3.1v8.5H8.8z/> path dM17.1,0v8.5h-3.1l5.9,7.7l5.9-7.7h-3.1V0H17.1z/> /symbol> symbol idconfirmed viewBox0 0 22 22> circle stroke-width1 cx11 cy11 r10/> path fillcurrentColor dM17,8.3c0,0,0,0.1-0.1,0.2l-7.3,7c-0.1,0.1-0.2,0.1-0.3,0l-4.3-4c-0.1-0.1-0.1-0.2,0-0.3l1.6-1.5 c0.1-0.1,0.2-0.1,0.3,0l2.5,2.3L15,6.6c0.1-0.1,0.2-0.1,0.3,0l1.6,1.5C17,8.2,17,8.2,17,8.3z/> /symbol> symbol idcurrency viewBox0 0 25 14.6> path dM10.9,5.4c0,0.3,0.1,0.6,0.4,0.8c0.1,0.1,0.3,0.2,0.6,0.3V4.4c-0.3,0-0.6,0.1-0.8,0.3 C11,4.9,10.9,5.1,10.9,5.4z/> path dM12.5,8.3v2.3c0.3,0,0.5-0.1,0.7-0.2c0.2-0.2,0.4-0.5,0.4-0.9c0-0.3-0.1-0.6-0.3-0.8 C13,8.5,12.8,8.4,12.5,8.3z/> path dM0,0v14.6h25V0H0z M14.1,11.4c-0.4,0.3-1,0.4-1.6,0.5V13h-0.6v-1.2c-0.8-0.1-1.3-0.3-1.7-0.5 c-0.7-0.4-1-1.2-1-2.3h1.6c0.1,0.5,0.1,0.8,0.2,1c0.2,0.3,0.5,0.4,0.9,0.5V8.1l-0.5-0.1C10.7,7.7,10.2,7.4,9.9,7 C9.6,6.6,9.4,6.1,9.4,5.6c0-0.4,0.1-0.7,0.2-1C9.7,4.3,9.9,4,10.1,3.8c0.3-0.3,0.6-0.5,0.9-0.6c0.2-0.1,0.5-0.1,0.9-0.1V2.3h0.6 v0.8c0.6,0.1,1.1,0.2,1.5,0.5c0.7,0.4,1,1.1,1,2h-1.5c0-0.3-0.1-0.6-0.2-0.8c-0.1-0.3-0.4-0.4-0.8-0.5v2.2C13.4,7,14,7.2,14.4,7.5 c0.5,0.4,0.8,1,0.8,1.7C15.1,10.2,14.8,10.9,14.1,11.4z/> /symbol> symbol idfee viewBox0 2 17 18> path fill-ruleevenodd dM0 2v18l2.833-1.714L5.667 20 8.5 18.286 11.333 20l2.834-1.714L17 20V2l-2.833 1.714L11.333 2 8.5 3.714 5.667 2 2.833 3.714/> g fill-ruleevenodd fillcurrentColor> path dM6.702 12.497c.054.354.16.62.318.794.29.32.785.48 1.487.48.42 0 .762-.042 1.025-.126.498-.16.746-.46.746-.9 0-.256-.123-.454-.37-.594-.247-.137-.635-.258-1.163-.363l-.903-.185c-.888-.182-1.5-.38-1.84-.594-.576-.358-.863-.917-.863-1.68 0-.693.277-1.27.832-1.73.556-.46 1.372-.69 2.45-.69.898 0 1.664.218 2.3.65.634.434.967 1.063.998 1.887h-1.714c-.03-.466-.254-.798-.67-.994-.28-.13-.624-.194-1.037-.194-.46 0-.827.084-1.1.253-.275.167-.412.402-.412.704 0 .277.135.484.406.62.173.092.544.2 1.11.322l1.47.32c.645.14 1.13.328 1.46.563.51.364.763.892.763 1.583 0 .71-.298 1.297-.894 1.765-.596.47-1.438.703-2.526.703-1.11 0-1.985-.23-2.622-.69C5.318 13.937 5 13.303 5 12.496h1.702z/> path dM8 6h1v10H8z/> /g> /symbol> symbol idfeedback viewBox0 4 18 18> path dM0 4v14h10v4l4-4h4V4H0zm14 10H4v-2h10v2zm0-4H4V8h10v2z fill-ruleevenodd/> /symbol> symbol idfile-upload-spinner viewBox293 797 18 18> path dM304.611075 810.660657l-2.37815-2.061135-.060716-.04621c-.46612-.33582-1.17027-.032506-1.17027.49433l.0043 1.626448c-2.67206-.27591-4.895733-2.054687-5.777195-4.67409h-2.196538c.969583 3.828358 4.141075 6.548507 7.983135 6.842418l.004298 1.420925c0 .530866.70818.83633 1.175373.495403l.060717-.043253 2.36015-2.077792c.624357-.552088.620328-1.431402-.005105-1.977043zM303.053672 799.16403l-.0043-1.41797c-.00403-.530866-.704148-.83418-1.16597-.49406l-.060715.04406-2.341344 2.07779c-.620328.54994-.61603 1.431404.0043 1.977046l2.354775 2.061134.065015.04621c.46182.33582 1.160865.032506 1.160865-.49433l-.009403-1.63182c2.654866.274835 4.860806 2.048507 5.737165 4.66791h2.173432c-.96018-3.828358-4.103462-6.542328-7.91382-6.83597z/> /symbol> symbol idgeneral-notification viewBox0 1 17 18> path dM6.098 16.685c0 1.17.95 2.12 2.12 2.12 1.17 0 2.12-.95 2.12-2.12h-4.24zM13.336 10.162v-2.34c0-2.433-1.7-4.47-3.975-4.988.05-.13.076-.272.076-.42 0-.673-.546-1.218-1.22-1.218C7.547 1.196 7 1.74 7 2.414c0 .148.026.29.074.42C4.8 3.354 3.1 5.39 3.1 7.822v2.34c0 2.013-1.163 3.753-2.852 4.59v1.16h15.938v-1.16c-1.688-.837-2.85-2.577-2.85-4.59z fill-ruleevenodd/> /symbol> symbol idinformation viewBox0 0 18 18> path dM9 18c4.97 0 9-4.03 9-9s-4.03-9-9-9-9 4.03-9 9 4.03 9 9 9z fill-ruleevenodd/> text fillcurrentColor transformmatrix(-1 0 0 1 22.1 0) font-size14 font-weightbold> tspan x11 y14>i/tspan> /text> /symbol> symbol idprice-change-arrow viewBox0 0 13 18> path dM9.7,18 L4,18 L4,8 L0.9,8 L7,0 L12.9,8 L9.8,8 C9.7,8 9.6,18 9.7,18 L9.7,18 Z/> /symbol> symbol idprice-tag viewBox0 0 18 19> path dM10.1,0.4 L0.2,10.1 C0.1,10.2 0,10.4 0,10.6 C0,10.8 0.1,11 0.2,11.1 L7.3,18.2 C7.4,18.3 7.6,18.4 7.7,18.4 C7.9,18.4 8,18.3 8.1,18.2 L18,8.8 L18,0.4 L10.1,0.4 L10.1,0.4 Z M14.4,2.5 C15.2,2.5 15.9,3.2 15.9,4 C15.9,4.8 15.2,5.5 14.4,5.5 C13.6,5.5 12.9,4.8 12.9,4 C12.9,3.2 13.5,2.5 14.4,2.5 L14.4,2.5 Z/> /symbol> symbol idreminder viewBox0 2 16 18> path fill-ruleevenodd dM.015 6.09H16v13.9l-8.042-3.692L0 20M0 2h16v2.455H0z/> /symbol> symbol idshipping viewBox0 0 29.9 19.7> path dM29.1,15V9.6l-1.8-4.9H20V0H0v14.1v0.3h0v3h5.5c0,0,0,0.1,0,0.1c0,1.2,1,2.3,2.3,2.3c1.3,0,2.3-1,2.3-2.3 c0,0,0-0.1,0-0.1h9.8h0.4h1.5c0,0,0,0.1,0,0.1c0,1.2,1,2.3,2.3,2.3c1.2,0,2.3-1,2.3-2.3c0,0,0-0.1,0-0.1h2.9V17h0.8v-2H29.1z M21,9.6V6.2h5.4l1,2.7l0.2,0.6H21z/> /symbol> symbol idsuccessful viewBox0 0 12 9> path dM12,1.8c0,0,0,0.1-0.1,0.2l-7.3,7C4.6,9,4.4,9,4.3,8.9l-4.3-4C0,4.8,0,4.7,0.1,4.6l1.6-1.5 C1.8,3,1.9,3,2,3.1l2.5,2.3L10,0.1c0.1-0.1,0.2-0.1,0.3,0l1.6,1.5C12,1.7,12,1.7,12,1.8z/> /symbol> symbol idunsuccessful viewBox0 0 12 12> path dM12,10.4L7.6,6L12,1.6L10.4,0L6,4.4L1.6,0L0,1.6L4.4,6L0,10.4L1.6,12L6,7.6l4.4,4.4L12,10.4z/> /symbol> symbol idwarning viewBox0 3 18 17> path dM8.007 3.613L.317 17.465c-.64 1.167-.37 2.283 1.36 2.283h14.644c1.735 0 2.003-1.116 1.363-2.28L9.833 3.65c-.16-.31-.39-.655-.88-.65-.523.01-.782.302-.946.613zm-.02 4.435h1.8v6.3h-1.8v-6.3zm0 7.65h1.8v1.8h-1.8v-1.8z fill-ruleevenodd/> /symbol> symbol idactive viewBox0 0 17.2 17.2> circle cx8.6 cy8.6 r7.6/> path fillcurrentColor dM8.6,1C4.4,1,1,4.4,1,8.6c0,4.2,3.4,7.6,7.6,7.6c4.2,0,7.6-3.4,7.6-7.6C16.2,4.4,12.8,1,8.6,1z M13.1,6.6 L7.6,12C7.5,12,7.4,12,7.3,12l-3.2-3C4,8.8,4,8.8,4.1,8.7l1.2-1.2c0.1-0.1,0.2-0.1,0.3,0l1.9,1.8l4.2-4.1c0.1-0.1,0.2-0.1,0.3,0 l1.2,1.2c0,0,0,0.1,0,0.1C13.2,6.6,13.1,6.6,13.1,6.6z/> /symbol> symbol idadd-content viewBox0 0 18 18> path dM18 7.714h-7.714V0H7.714v7.714H0v2.572h7.714V18h2.572v-7.714H18/> /symbol> symbol idadd viewBox0 0 14 14> polygon points14,6 8,6 8,0 6,0 6,6 0,6 0,8 6,8 6,14 8,14 8,8 14,8/> /symbol> symbol idalign-center viewBox0 0 18 18> path dM3 13h12v2H3v-2zM0 3h18v2H0V3zm0 5h18v2H0V8z/> /symbol> symbol idalign-left viewBox0 0 18 18> path dM0 3h18v2H0V3zm0 10h18v2H0v-2zm0-5h12v2H0V8z/> /symbol> symbol idalign-right viewBox0 0 18 18> path dM18 3v2H0V3h18zm0 10v2H0v-2h18zm0-5v2H6V8h12z/> /symbol> symbol idbulk-edit viewBox0 0 23.2 16.4> path dM11.6,5v9.7l7.6-1.5V8.5c0-0.2,0.2-0.4,0.4-0.3l0.9,0.1c0.2,0,0.3,0.2,0.3,0.3v5.5c0,0.2-0.1,0.3-0.3,0.3 l-8.3,1.8c-0.4,0.1-0.8,0.1-1.2,0l-8.3-1.8c-0.1,0-0.3-0.2-0.3-0.3L2.3,8.7c0-0.2,0.1-0.3,0.3-0.3l7-0.6c0.1,0,0.2-0.1,0.3-0.2 l1.1-2.6C11.1,4.6,11.6,4.7,11.6,5z M2.2,1.9L0,6.6c-0.1,0.2,0.1,0.5,0.3,0.5l8.3-0.8c0.1,0,0.2-0.1,0.3-0.2L11.5,0L2.5,1.7 C2.4,1.7,2.3,1.8,2.2,1.9z M11.5,0l2.8,6.2c0,0.1,0.2,0.2,0.3,0.2l8.2,0.7c0.2,0,0.4-0.2,0.3-0.5L21,1.9c0-0.1-0.1-0.2-0.2-0.2 L11.5,0z/> /symbol> symbol idcalendar viewBox0 0 19 18> path dM0,18h19V7H0V18z M15,2v2h-4V2H8v2H4V2H0v4h19V2H15z M7,0H5v3h2 V0z M14,0h-2v3h2V0z/> /symbol> symbol idcall viewBox0 0 20.6 20.6> path dM20.4,17.3c-1.2,2.8-3.9,3.3-4.8,3.3c-0.3,0-4.4,0.2-10.3-5.4C0.6,10.8,0.1,5.9,0,5c0-0.9,0.2-3.1,3.3-4.8 C3.7,0,4.4-0.1,4.6,0.1c0.1,0.1,2.7,4.4,2.7,4.5C7.5,4.7,7.5,4.9,7.5,5c0,0.2-0.1,0.4-0.4,0.7C6.8,6,6.5,6.3,6.2,6.6 S5.5,7.1,5.3,7.3C5,7.6,4.8,7.8,4.8,8c0,0.5,0.4,2.1,3.2,4.6c2.8,2.5,4.2,3.2,4.3,3.2c0.1,0,0.2,0.1,0.3,0.1c0.2,0,0.4-0.1,0.7-0.4 c0.3-0.3,1.2-1.5,1.5-1.8c0.3-0.3,0.5-0.4,0.7-0.4c0.1,0,0.3,0,0.4,0.1c0.1,0.1,4.4,2.6,4.5,2.7C20.8,16.2,20.6,16.9,20.4,17.3/> /symbol> symbol idcart viewBox0 0 20 17> path dM17,11l3-8H4L2.8,0L0,0v1h2l3.8,12.4c-0.8,0.2-1.5,0.9-1.5,1.8c0,1,0.8,1.8,1.8,1.8S8,16.2,8,15.2 c0-0.2,0-0.4-0.1-0.6h5c-0.1,0.2-0.1,0.4-0.1,0.6c0,1,0.8,1.8,1.8,1.8c1,0,1.8-0.8,1.8-1.8c0-1-0.8-1.8-1.7-1.8c0,0-0.1,0-0.1,0 l-7.5,0l-0.8-2.4L17,11z/> /symbol> symbol idclick-to-collect viewBox0 0 24.5 21.8> path dM0,0v21.8h10.8v-3.9h2.8v3.9h10.9V0H0z M7.2,13.5H4.1v-3.1h3.1V13.5z M7.2,7.2H4.1V4.1h3.1V7.2z M13.8,13.5 h-3.1v-3.1h3.1V13.5z M13.8,7.2h-3.1V4.1h3.1V7.2z M20.4,13.5h-3.1v-3.1h3.1V13.5z M20.4,7.2h-3.1V4.1h3.1V7.2z/> /symbol> symbol idclose viewBox0 0 12 12> path dM12,10.4L7.6,6L12,1.6L10.4,0L6,4.4L1.6,0L0,1.6L4.4,6L0,10.4L1.6,12L6,7.6l4.4,4.4L12,10.4z/> /symbol> symbol iddefault viewBox0 0 20 20> path dM9.6,1.2l2.6,5.6l5.9,0.9L13.9,12l1,6.1l-5.3-2.9l-5.3,2.9l1-6.1L1.1,7.7L7,6.8L9.6,1.2z/> /symbol> symbol iddislike viewBox0 0 17 14.4> path dM0,8.4h4v-8H0V8.4z M15.9,6.4c0,0,0.3-0.3,0.4-1c0-1-1.1-1.2-1.1-1.2s0.6-0.4,0.6-0.9 c0-1.1-1.3-1.2-1.3-1.2s0.5-0.4,0.5-1c0-1-0.8-1.1-0.8-1.1S8.8,0,8.4,0C7.9,0,5.5,1.2,5.5,1.2H5.2v6.6c0,0,1.1,0.1,1.4,0.2 c0.3,0,2.3,3.8,2.3,3.8v2.1c0,0,0.2,0.5,0.8,0.6c1.1,0,1.5-1.1,1.7-1.7c0.2-0.6,0.2-1.9-0.1-2.8c-0.3-0.9,0-1.3,0-1.3h4.9 c0,0,0.7-0.1,0.7-1.1C17,6.6,15.9,6.4,15.9,6.4z/> /symbol> symbol iddownload viewBox0 0 14 20.8> rect x0 y18.8 width14 height2/> path dM4.1,0v8.5H1.1L7,16.3l5.9-7.7H9.9V0H4.1z/> /symbol> symbol idedit viewBox0 0 18.8 18.8> polygon points0,18.8 4.1,18.1 0.7,14.7 /> path dM17.4,4.8l1-1c0.5-0.5,0.5-1.3,0-1.8l-1.7-1.7c-0.5-0.5-1.3-0.5-1.8,0l-1,1L17.4,4.8z/> rect x6.6 y1.7 transformmatrix(0.707 0.7072 -0.7072 0.707 9.5652 -3.5088) width4.9 height16.3/> /symbol> symbol idexternal-link viewBox0 0 18 18> path dM14.4 18H14h.4zM0 15v1c0 1.1.9 2 2 2h1c-1.7 0-3-1.3-3-3zM0 4v-.4.4z/> path dM15.9 11.1l-.9-.9V15c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1h4.8l-.9-.9L5.8 1H3C1.5 1 .2 2.1 0 3.6V15c0 1.7 1.3 3 3 3h11.4c1.5-.2 2.6-1.4 2.6-3v-2.8l-1.1-1.1z/> path dM14.6 5.6L18 9V1c0-.6-.4-1-1-1H9l3.4 3.4L9.9 6l-4.2 4.2c-.4.4-.4 1 0 1.4l.7.7c.4.4 1 .4 1.4 0L12 8.1l2.6-2.5z/> /symbol> symbol idfavorite viewBox0 0 24 24> path dM22.9,9.1C21.3,15.2,12,22.7,12,22.7S2.7,15.2,1.1,9.1 C1,8.6,0.9,8,0.9,7.4c0-3.4,2.7-6.1,5.9-6.1c2.5,0,4.4,1.6,5.2,3.8c0,0,0,0,0,0s0,0,0,0c0.8-2.2,2.7-3.8,5.2-3.8 c3.3,0,5.9,2.7,5.9,6.1C23.1,8,23,8.6,22.9,9.1z/> /symbol> symbol idfloating-delete viewBox0 0 20 20> path dM10,20L10,20C4.5,20,0,15.5,0,10v0C0,4.5,4.5,0,10,0h0c5.5,0,10,4.5,10,10v0C20,15.5,15.5,20,10,20z/> polygon fillcurrentColor points14.4,4.4 10,8.8 5.6,4.4 4,6 8.4,10.4 4,14.8 5.6,16.4 10,12 14.4,16.4 16,14.8 11.6,10.4 16,6/> /symbol> symbol idgrid-view viewBox0 0 16 16> path dM0,7h7V0H0V7z M9,0v7h7V0H9z M0,16h7V9H0V16z M9,16h7V9H9V16z/> /symbol> symbol idhelp viewBox0 0 22 22> path dM11,22C4.9,22,0,17.1,0,11S4.9,0,11,0c6.1,0,11,4.9,11,11S17.1,22,11,22z M11,2c-5,0-9,4-9,9c0,5,4,9,9,9 s9-4,9-9C20,6,16,2,11,2z/> path dM8.9,6.4c0.5-0.3,1.2-0.5,2-0.5c1,0,1.9,0.2,2.6,0.7c0.7,0.5,1,1.2,1,2.2c0,0.6-0.1,1.1-0.4,1.5 c-0.2,0.2-0.5,0.6-1,0.9l-0.5,0.4c-0.3,0.2-0.4,0.4-0.5,0.7c-0.1,0.2-0.1,0.4-0.1,0.8h-1.9c0-0.8,0.1-1.3,0.2-1.6 c0.1-0.3,0.4-0.6,0.9-1l0.5-0.4c0.2-0.1,0.3-0.3,0.4-0.4c0.2-0.3,0.3-0.5,0.3-0.8c0-0.3-0.1-0.7-0.3-0.9c-0.2-0.3-0.6-0.4-1.1-0.4 c-0.5,0-0.9,0.2-1.1,0.5C9.6,8.4,9.5,8.8,9.5,9.2h-2C7.6,7.9,8,7,8.9,6.4z M10,14.1h2v2h-2V14.1z/> /symbol> symbol idlike viewBox0 0 17 14.4> path dM0,14h4V6H0V14z M17,6.9c0-1-0.7-1.1-0.7-1.1h-4.9c0,0-0.3-0.4,0-1.3c0.3-0.9,0.3-2.2,0.1-2.8 C11.2,1.1,10.8,0,9.7,0C9.1,0.1,8.9,0.6,8.9,0.6v2.1c0,0-2,3.7-2.3,3.8c-0.3,0-1.4,0.2-1.4,0.2v6.6h0.3c0,0,2.4,1.2,2.8,1.2 c0.5,0,5.9,0,5.9,0s0.8-0.2,0.8-1.1c0-0.6-0.5-1-0.5-1s1.3-0.1,1.3-1.2c0-0.4-0.6-0.9-0.6-0.9S16.4,10,16.4,9 c-0.1-0.6-0.4-1-0.4-1S17,7.8,17,6.9z/> /symbol> symbol idlink viewBox0 0 18 18> path dM6.696 6.598l5.196 3c.478.276.642.888.366 1.366-.276.478-.888.642-1.366.366l-5.196-3c-.48-.276-.642-.888-.366-1.366.276-.478.887-.642 1.366-.366zM2.598 7.696l3.464 2-1 1.732-3.464-2C.163 8.598-.33 6.765.5 5.33l1-1.732C2.328 2.163 4.163 1.67 5.598 2.5l3.464 2-1 1.732-3.464-2c-.157-.09-.33-.134-.498-.134-.346 0-.683.18-.868.5l-1 1.732c-.18.312-.14.61-.1.76.04.148.154.425.466.606zM15.99 8.5c1.435.83 1.927 2.663 1.098 4.098l-1 1.732c-.828 1.435-2.663 1.927-4.098 1.098l-3.464-2 1-1.732 3.464 2c.313.18.61.14.76.1.148-.04.426-.153.606-.465l1-1.732c.18-.312.14-.61.1-.76-.04-.148-.153-.425-.466-.606l-3.464-2 1-1.732 3.464 2z/> /symbol> symbol idlist-view viewBox0 0 19 16> path dM5,10h14V6H5V10z M5,0v4h14V0H5z M5,16h14v-4H5V16z M0,10h3V6H0V10z M0,4h3V0H0V4z M0,16h3v-4H0V16z/> /symbol> symbol idlocation viewBox0 0 12.6 20.2> path dM6.3,0C6.3,0,0,0.1,0,7.5c0,3.8,6.3,12.6,6.3,12.6s6.3-8.8,6.3-12.7C12.6,0.1,6.3,0,6.3,0z M6.3,8.8 c-1.4,0-2.5-1.1-2.5-2.5c0-1.4,1.1-2.5,2.5-2.5c1.4,0,2.5,1.1,2.5,2.5C8.8,7.7,7.7,8.8,6.3,8.8z/> /symbol> symbol idmail viewBox0 0 20 14> path dM0,3v11h20V3L9.9,10L0,3z M20,0H0l10,7L20,0z/> /symbol> symbol idmarker-filled viewBox0 0 12.6 20.2> path dM6.3,0C6.3,0,0,0.1,0,7.5c0,3.8,6.3,12.6,6.3,12.6s6.3-8.8,6.3-12.7C12.6,0.1,6.3,0,6.3,0z/> /symbol> symbol idmenu viewBox0 0 19 16> path dM0,10h19V6H0V10z M0,0v4h19V0H0z M0,16h19v-4H0V16z/> /symbol> symbol idnotes viewBox0 0 16 19> path dM8,0H0v19h16V8H8V0z M10,0v6h6L10,0z/> /symbol> symbol idpassword viewBox0 0 17.7 22.1> path dM15.7,10c-0.3,0-0.4,0-0.4,0V6.5c0-4.2-2.9-6.5-6.4-6.5C5.4,0,2.2,2.4,2.3,6.5l0,3.5c0,0,0.1,0-0.2,0 C1.8,10,0,10.3,0,12v7.9c0,1.8,2.1,2.2,2.1,2.2c3.7,0,9.8,0,13.5,0c0,0,2-0.2,2-2.2v-7.8C17.7,10.2,15.8,10,15.7,10z M10.4,19H7.3 l0.7-3.2c-0.5-0.3-0.8-0.9-0.8-1.5c0-1,0.8-1.8,1.7-1.8c0.9,0,1.7,0.8,1.7,1.8c0,0.6-0.3,1.2-0.8,1.5L10.4,19z M5.3,10l0-3.4 c0-2.2,1.3-4,3.5-4c2.2,0,3.5,1.5,3.5,4l0,3.4H5.3z/> /symbol> symbol idpause viewBox0 0 18 18> g fill-ruleevenodd> polygon points0 0 0 18 18 18 18 0/> polygon fillcurrentColor points9.86729858 5 12 5 12 13 9.86729858 13/> polygon fillcurrentColor points6 5 8.13270142 5 8.13270142 13 6 13/> /g> /symbol> symbol idplay viewBox0 0 22 22> polygon fillcurrentColor points7,15.8 14.3,10.9 7,6 /> path dM0,0v22h22V0H0z M7,15.8V6l7.3,4.9L7,15.8z/> /symbol> symbol idprint viewBox0 0 21 16> path dM17,0H5v2h12V0z M5,16h12v-6H5V16z M0,3v11h4V9h14v5h3V3H0z M19,6h-2V5h2V6z/> /symbol> symbol idrating viewBox0 0 20 20> path dM9.6,1.2l2.6,5.6l5.9,0.9L13.9,12l1,6.1l-5.3-2.9l-5.3,2.9l1-6.1L1.1,7.7L7,6.8L9.6,1.2z/> /symbol> symbol idremove-x viewBox0 0 17 29> path dM2 18h12V5H2v13zm8-2h2V7h-2v9zm-3 0h2V7H7v9zm-3 0V7h2v9H4zM6 0h4v2h5v2H1V2h5V0zm10.242 25.243h-12v3.242L0 24.243 4.242 20v3.242h12v2z/> /symbol> symbol idremove-y viewBox0 0 26 18> path dM5 0v2H0v2h14V2H9V0H5zM1 18h12V5H1v13zm8-2h2V7H9v9zm-3 0h2V7H6v9zm-3 0V7h2v9H3zM20.24 1.758h2.002v12h3.24L21.243 18 17 13.758h3.242v-12z/> /symbol> symbol idreturn viewBox0 0 15 12> path dM0,6l6,6V9c0,0,6-1.5,9,3c0-5-4-9-9-9V0L0,6z/> /symbol> symbol idsearch viewBox0 0 18 18> path dM17.8,16.3c0.2,0.2,0.2,0.6,0,0.8l-0.8,0.8c-0.2,0.2-0.6,0.2-0.8,0 l-5.4-5.4c-0.1-0.1-0.1-0.1-0.1-0.2c-1.1,0.8-2.5,1.3-4,1.3C3,13.5,0,10.5,0,6.7C0,3,3,0,6.8,0c3.7,0,6.8,3,6.8,6.7 c0,1.5-0.5,2.9-1.3,4c0.1,0,0.1,0.1,0.2,0.1L17.8,16.3z M6.8,2.2c-2.5,0-4.5,2-4.5,4.5c0,2.5,2,4.5,4.5,4.5c2.5,0,4.5-2,4.5-4.5 C11.3,4.3,9.2,2.2,6.8,2.2z/> /symbol> symbol idsettings viewBox0 0 21 21> path dM21,12V9h-2.1c-0.2-1.2-0.7-2.4-1.4-3.4L19,4.1L16.9,2l-1.5,1.5 c-1-0.7-2.1-1.2-3.4-1.4V0H9v2.1C7.8,2.4,6.6,2.8,5.6,3.5L4.1,2L2,4.1l1.5,1.5C2.8,6.6,2.4,7.8,2.1,9H0v3h2.1 c0.2,1.2,0.7,2.4,1.4,3.4L2,16.9L4.1,19l1.5-1.5c1,0.7,2.1,1.2,3.4,1.4V21h3v-2.1c1.2-0.2,2.4-0.7,3.4-1.4l1.5,1.5l2.1-2.1 l-1.5-1.5c0.7-1,1.2-2.1,1.4-3.4H21z M10.5,14C8.6,14,7,12.4,7,10.5S8.6,7,10.5,7S14,8.6,14,10.5S12.4,14,10.5,14z/> /symbol> symbol idtooltip viewBox0 0 22 22> path dM11,22C4.9,22,0,17.1,0,11S4.9,0,11,0c6.1,0,11,4.9,11,11S17.1,22,11,22z M11,2c-5,0-9,4-9,9c0,5,4,9,9,9 s9-4,9-9C20,6,16,2,11,2z/> path dM 12.132 7.249 L 9.868 7.249 L 9.868 5.187 L 12.132 5.187 L 12.132 7.249 Z M 9.868 8.268 L 12.132 8.268 L 12.132 16.813 L 9.868 16.813 L 9.868 8.268 Z/> /symbol> symbol iduser viewBox0 0 21 17> path dM21,15.4c0-0.8-0.3-1.3-1.1-1.6v0l-6.3-2.6h0c0-0.5-0.5-1-1-1V9.8c0.7-0.6,1.2-1.5,1.5-2.6 C14.5,7,14.7,6.5,14.7,6c0-0.3-0.1-0.6-0.2-0.8c0.1-0.4,0.2-0.8,0.2-1.2c0-2.2-1.9-4-4.2-4S6.3,1.8,6.3,4c0,0.4,0.1,0.8,0.2,1.2 C6.4,5.4,6.3,5.7,6.3,6c0,0.5,0.2,1,0.6,1.2c0.3,1.1,0.8,2,1.5,2.6v0.3c-0.6,0-1.1,0.4-1.1,1l-6.3,2.6C0.4,14.1,0,14.6,0,15.4 c0,0,0,0,0,0c0,0,0,0,0,0V16c0,0.5,0.5,1,1.1,1h0.7h17.5H20c0.6,0,1.1-0.4,1.1-1V15.4C21,15.4,21,15.4,21,15.4 C21,15.4,21,15.4,21,15.4z/> /symbol> symbol idwebsite viewBox0 0 24.7 24.7> path dM12.3,0C5.5,0,0,5.5,0,12.3c0,6.8,5.5,12.3,12.3,12.3c6.8,0,12.3-5.5,12.3-12.3C24.7,5.5,19.2,0,12.3,0z M13.9,17v-3.1c0,0-6.2-1.5-9.3,3.1c0-5.1,4.1-9.3,9.3-9.3V4.6l6.2,6.2L13.9,17z/> /symbol> symbol idzoom viewBox0 0 18 18> path dM17.8,16.3c0.2,0.2,0.2,0.6,0,0.8l-0.8,0.8c-0.2,0.2-0.6,0.2-0.8,0 l-5.4-5.4c-0.1-0.1-0.1-0.1-0.1-0.2c-1.1,0.8-2.5,1.3-4,1.3C3,13.5,0,10.5,0,6.7C0,3,3,0,6.8,0c3.7,0,6.8,3,6.8,6.7 c0,1.5-0.5,2.9-1.3,4c0.1,0,0.1,0.1,0.2,0.1L17.8,16.3z M6.8,2.2c-2.5,0-4.5,2-4.5,4.5c0,2.5,2,4.5,4.5,4.5c2.5,0,4.5-2,4.5-4.5 C11.3,4.3,9.2,2.2,6.8,2.2z/> /symbol> symbol idarrow viewBox0 0 12 12> path dM11.932 4.19l-5.74 5.72c-.12.12-.24.12-.362 0L.09 4.19c-.12-.12-.12-.24 0-.36l1.748-1.74c.12-.12.24-.12.36 0l3.813 3.813L9.825 2.09c.12-.12.24-.12.36 0l1.748 1.74c.045.065.068.123.068.178 0 .057-.023.117-.068.18z/> /symbol> symbol idcredit-card-amex viewBox0 0 122 84> title>Credit Card/American Express/title> path fill-ruleevenodd dM0 47h122v14H0zM0-1h36v30H0z/> text font-size20 fillcurrentColor transformtranslate(1)> tspan x71 y45>1234/tspan> /text> /symbol> symbol idcredit-card-labeler viewBox211 1549 18 15> path dM212.5 1551.5h7.07M212.5 1561.5h7.07M219.5 1556.5h8.07M219.5 1551.5v10 strokecurrentColor stroke-linecapsquare fillcurrentColor/> /symbol> symbol idcredit-card viewBox-1 0 122 84> title>Credit Card/Visa & Mastercard/title> path fill-ruleevenodd dM-1 38h80v14H-1zM-1 8h122v24H-1z/> text font-size20 fillcurrentColor> tspan x81 y53>123/tspan> /text> /symbol> symbol idexpand-collapse viewBox0 0 13 8> path dM13,2c0,0.1,0,0.1-0.1,0.2L6.7,7.9C6.6,8,6.4,8,6.3,7.9L0.1,2.2C0,2.1,0,1.9,0.1,1.8L2,0.1 C2.1,0,2.2,0,2.4,0.1l4.1,3.8l4.1-3.8C10.8,0,10.9,0,11,0.1l1.9,1.7C13,1.9,13,1.9,13,2z/> /symbol> symbol idfiletype viewBox0 0 52 60> path dM0 0h25.65v25.83h25.913V60H0V0zm29.063 0l22.5 21.563h-22.5V0z/> /symbol> symbol idgallery-arrow viewBox0 0 45 24> path dM45,2c0,0.1,0,0.1-0.1,0.2L22.7,23.9c-0.1,0.1-0.3,0.1-0.4,0L0.1,2.2C0,2.1,0,1.9,0.1,1.8L2,0.1 C2.1,0,2.2,0,2.4,0.1l20.1,19.8L42.6,0.1C42.8,0,42.9,0,43,0.1l1.9,1.7C45,1.9,45,1.9,45,2z/> /symbol> symbol idpromo-link-icon viewBox83 6 10 19> path dM86.19 9.568l5.72 5.74c.12.12.12.24 0 .362l-5.72 5.74c-.12.12-.24.12-.36 0l-1.74-1.748c-.12-.12-.12-.24 0-.36l3.813-3.813-3.814-3.814c-.12-.12-.12-.24 0-.36l1.74-1.748c.065-.045.123-.068.178-.068.057 0 .117.023.18.068z fill-ruleevenodd/> /symbol> symbol idscroll-icon viewBox0 0 45 24> path dM45,2c0,0.1,0,0.1-0.1,0.2L22.7,23.9c-0.1,0.1-0.3,0.1-0.4,0L0.1,2.2C0,2.1,0,1.9,0.1,1.8L2,0.1 C2.1,0,2.2,0,2.4,0.1l20.1,19.8L42.6,0.1C42.8,0,42.9,0,43,0.1l1.9,1.7C45,1.9,45,1.9,45,2z/> /symbol> symbol idsort-arrow viewBox0 0 13 5.9> path dM6.7,5.8C6.5,6,6.4,6,6.3,5.8L0,0h13L6.7,5.8z/> /symbol> symbol idstock-high viewBox0 0 7.7 22> rect x0 y15.4 width7.7 height6.6/> rect x0 y0 width7.7 height7/> rect x0 y8 width7.7 height6.4/> /symbol> symbol idstock-low viewBox0 0 7.7 22> path dM0,0v22h7.7V0H0z M6.7,1v6H1V1H6.7z M1,14.4V8h5.7v6.4H1z/> /symbol> symbol idstock-medium viewBox0 0 7.7 22> rect x0 y15.4 width7.7 height6.6/> path dM7.7,0H0v14.4h7.7V0z M1,7V1h5.7v6H1z/> /symbol> symbol idfacebook viewBox0 0 20 20> path dM10,1c5,0,9,4,9,9 c0,5-4,9-9,9c-5,0-9-4-9-9C1,5,5,1,10,1z/> path fillcurrentColor stroke-width0px dM11.8,10l-1.3,0l0,4.8H8.7V10H7.5V8.3l1.2,0l0-1c0-1.3,0.4-2.2,2-2.2H12v1.7h-0.8c-0.6,0-0.6,0.2-0.6,0.7 l0,0.8H12L11.8,10z/> /symbol> symbol idinstagram viewBox-1 -1 20 20> circle cx9 cy9 r9/> rect strokecurrentColor width9 height9 x4.473 y4.623 rx2.5/> circle strokecurrentColor cx9 cy9.158 r1.847 stroke-width.9/> circle strokecurrentColor cx11.385 cy6.75 r.300/> /symbol> symbol idlinkedin viewBox0 0 20 20> path dM10,1c5,0,9,4,9,9 c0,5-4,9-9,9c-5,0-9-4-9-9C1,5,5,1,10,1z/> path fillcurrentColor stroke-width0px dM7.2,14.3h-2v-7h2V14.3z M6.3,6.9C5.8,6.9,5.4,6.5,5.4,6C5.4,5.4,5.8,5,6.3,5C6.8,5,7.2,5.4,7.2,6 C7.2,6.5,6.8,6.9,6.3,6.9z M14.2,14.3h-2V10c0-0.5-0.1-0.9-0.8-0.9c-1,0-1.2,0.9-1.2,0.9v4.3h-2v-7h2V8c0.3-0.2,1-0.7,2-0.7 c0.6,0,2,0.4,2,2.7V14.3z/> /symbol> symbol idtwitter viewBox0 0 18 18> circle cx9 cy9 r7.875 stroke-width.9/> path dm5.023 5.003 3.11 4.103-3.13 3.335h.704l2.74-2.92 2.214 2.92h2.396L9.773 8.108l2.912-3.105h-.704l-2.523 2.69-2.039-2.69H5.023Zm1.035.512H7.16l4.862 6.414h-1.1L6.058 5.515Z strokecurrentColor/> /symbol> symbol fillnone viewBox0 0 20 20 idfax> path dM3.92 6.182c0-.703.573-1.273 1.28-1.273h.64c.707 0 1.28.57 1.28 1.273v7.636c0 .703-.573 1.273-1.28 1.273H5.2c-.707 0-1.28-.57-1.28-1.273V6.182Z fill#525257/> path fill-ruleevenodd clip-ruleevenodd dM2 8.09c0-.702.573-1.272 1.28-1.272v8.273c0 .351.287.636.64.636h3.2c.353 0 .64-.285.64-.636V6.818h8.96c.707 0 1.28.57 1.28 1.273v7.636C18 16.43 17.427 17 16.72 17H3.28C2.573 17 2 16.43 2 15.727V8.091Zm8.32 2.546c.354 0 .64-.284.64-.636a.638.638 0 0 0-.64-.636.638.638 0 0 0-.64.636c0 .351.287.636.64.636Zm.64 1.273a.638.638 0 0 1-.64.636.638.638 0 0 1-.64-.636c0-.351.287-.636.64-.636.354 0 .64.285.64.636Zm-.64 2.545c.354 0 .64-.284.64-.636a.638.638 0 0 0-.64-.636.638.638 0 0 0-.64.636c0 .352.287.636.64.636ZM13.52 10a.638.638 0 0 1-.64.636.638.638 0 0 1-.64-.636c0-.351.287-.636.64-.636.353 0 .64.285.64.636Zm-.64 2.546c.353 0 .64-.285.64-.637a.638.638 0 0 0-.64-.636.638.638 0 0 0-.64.636c0 .351.287.636.64.636Zm.64 1.272a.638.638 0 0 1-.64.636.638.638 0 0 1-.64-.636c0-.351.287-.636.64-.636.353 0 .64.285.64.636Zm1.92-3.182c.354 0 .64-.284.64-.636a.638.638 0 0 0-.64-.636.638.638 0 0 0-.64.636c0 .351.286.636.64.636Zm.64 1.273a.638.638 0 0 1-.64.636.638.638 0 0 1-.64-.636c0-.351.286-.636.64-.636.354 0 .64.285.64.636Zm-.64 2.545c.354 0 .64-.284.64-.636a.638.638 0 0 0-.64-.636.638.638 0 0 0-.64.636c0 .352.286.636.64.636Z fill#525257/> path dM8.4 3.636c0-.351.287-.636.64-.636h4.48v1.91h2.56v1.272H8.4V3.636Z fill#525257/> path dm13.84 3 .96.636 1.28.955h-2.24V3Z fillcurrentColor/> /symbol> symbol idyoutube viewBox0 0 20 20> path dM10,1c5,0,9,4,9,9 c0,5-4,9-9,9c-5,0-9-4-9-9C1,5,5,1,10,1z/> path fillcurrentColor stroke-width0px dM14.9,8.1c-0.1-0.7-0.5-1.5-1.3-1.5c-2.3-0.2-5-0.2-7.3,0c-0.7,0.1-1.2,1-1.3,1.6C5,9.6,5,10.4,5.1,11.8 c0.1,0.7,0.5,1.5,1.3,1.6c2.3,0.2,5,0.2,7.3,0c0.7-0.1,1.2-1,1.3-1.6C15,10.4,15,9.5,14.9,8.1z M9,12V8l3,2L9,12z/> /symbol> symbol idpinterest viewBox0 0 20 20> path dM10,1c5,0,9,4,9,9 c0,5-4,9-9,9c-5,0-9-4-9-9C1,5,5,1,10,1z/> path fillcurrentColor transformtranslate(5, 5), scale(0.5) stroke-width0px dM17.7,5.8c-0.5-2.9-2.9-5.1-5.9-5.6c-0.2,0-0.5-0.1-0.8-0.1c-0.2,0-0.5,0-0.7,0C9.9,0,9.5,0,9,0.1 c-0.2,0-0.4,0.1-0.6,0.1C8.1,0.2,7.8,0.3,7.5,0.4c-3.5,1-5.3,3.9-5.3,7c0,1.8,1,4,2.5,4.8C4.9,12.3,5,12.2,5.1,12 c0-0.2,0.2-1,0.3-1.4c0-0.1,0-0.2,0-0.2c0,0,0-0.1-0.1-0.1C4.8,9.7,4.4,8.5,4.4,7.5c0-1.5,0.7-3,1.8-4c0,0,0,0,0.1,0 C7.2,2.6,8.5,2.2,10,2.2c2.6,0,4.5,1.5,5,3.7c0.1,0.4,0.2,0.8,0.2,1.3c0,3.3-1.7,5.6-3.8,5.6c-1.2,0-2.1-1-1.8-2.2 c0-0.1,0.1-0.3,0.1-0.4c0.3-1,0.6-2.1,0.8-2.9c0.1-0.3,0.1-0.5,0.1-0.8c0-0.9-0.5-1.7-1.6-1.7c-1.2,0-2.2,1.3-2.2,3 c0,0.2,0,0.5,0,0.7c0,0,0,0,0,0C6.8,9.1,7,9.5,7,9.5s-0.2,0.8-0.5,1.9c0,0.1,0,0.2-0.1,0.2c-0.3,1.4-0.7,3.1-0.9,3.8 c0,0,0,0.1,0,0.1c-0.1,0.4-0.1,0.9-0.1,1.4C5.4,18,5.4,19,5.5,20c0.1,0,0.1-0.1,0.2-0.1C6.2,19.5,6.7,19,7,18.4 c0.3-0.5,0.5-1.1,0.8-1.7c0,0,0-0.1,0-0.1c0-0.1,0.1-0.3,0.1-0.4c0.1-0.3,0.3-1,0.5-1.7c0,0,0,0,0-0.1c0.2-0.6,0.3-1.2,0.3-1.2 c0.4,0.8,1.6,1.4,2.8,1.4c3.7,0,6.4-3.4,6.4-7.6C17.8,6.6,17.8,6.2,17.7,5.8z/> /symbol>/svg> /div> div classtheme-editor-container> /div> nav aria-labelQuick Links classbg-dark cadmin quick-access-nav text-center text-white idxfzf_quickAccessNav> a classd-block p-2 sr-only sr-only-focusable text-reset href#main-content> Skip to Main Content /a> /nav> div classpt-0 idwrapper> header classrhy site-header idheader rolebanner>!-- Render inside of the header> element in portal_normal.vm -->!-- Order of elements are according to the mobile layout -->!-- All focusable elements within this section need to have tabindex20 -->section classmain-nav> section classlogo-nav> div classmenu-toggle> button classbtn-icon> svg classicon menu> use xlink:href#menu>/use> /svg> div classactive-blanket-indicator touch-device hidden> svg classicon green-indicator> use xlink:href#green-indicator>/use> /svg> /div> !-- Hidden by theme per default --> svg classicon menu-open> use xlink:href#close>/use> /svg> /button> /div> !-- Logo --> div classlogotype> a data-senna-offtrue classsite-logo logo custom-logo hrefhttps://www.jascopro.com titleJascoPro Customer Portal> img classsite-header-image alt height169 src/image/layout_set_logo?img_id44452244&t1764928170239 /> /a> /div> /section> div classmain-nav-overlay>/div> div classmain-nav-wrapper> !-- Menu used in mobile and otherwise just the logo in desktop --> section classlogo-nav> !-- Hamburger Menu --> div classmenu-toggle> button classbtn-icon> svg classicon menu> use xlink:href#menu>/use> /svg> !-- Hidden by theme per default --> svg classicon menu-open> use xlink:href#close>/use> /svg> /button> /div> !-- Render Logo Here - FYI this is standard stuff from Liferay --> div classlogotype> a data-senna-offtrue classsite-logo logo custom-logo hrefhttps://www.jascopro.com titleJascoPro Customer Portal tabindex20> img classsite-header-image altSite logo height169 src/image/layout_set_logo?img_id44452244&t1764928170239 /> /a> /div> /section> div classutil-menu-item blanket-agreement-job-specific-select>!--RHYM CHANGES START -->!--RHYM CHANGES END --> div classportlet-boundary portlet-boundary_rhythmecomblanketagreementjobspecificportlet_WAR_rhythmecomblanketagreementjobspecificportlet_ portlet-static portlet-static-end portlet-barebone idp_p_id_rhythmecomblanketagreementjobspecificportlet_WAR_rhythmecomblanketagreementjobspecificportlet_> span idp_rhythmecomblanketagreementjobspecificportlet_WAR_rhythmecomblanketagreementjobspecificportlet>/span> section classportlet idportlet_rhythmecomblanketagreementjobspecificportlet_WAR_rhythmecomblanketagreementjobspecificportlet> div classportlet-content> div class portlet-content-container> div classportlet-body> div classrhy widget__rhythmecomblanketagreementjobspecificportlet_WAR_rhythmecomblanketagreementjobspecificportlet_>/div>script> App.startWidget(rhythm-ecom-blanket-agreement-job-specific-portlet, .widget__rhythmecomblanketagreementjobspecificportlet_WAR_rhythmecomblanketagreementjobspecificportlet_, { widgetName: rhythm-ecom-blanket-agreement-job-specific-portlet, excludeTargetPage: , });/script> /div> /div> /div>/section>script> var isContentPage true; stylePortletTopper(); function stylePortletTopper() { var portletTopperElements document.querySelectorAll(.controls-visible .portlet-topper-toolbar); if (isContentPage true) { if (!document.body.classList.contains(has-edit-mode-menu)) { portletTopperElements.forEach(function(element) { var parentMain element.closest(main); if (parentMain) element.style.display none; }); } } }/script> /div> /div> div classutil-menu-item>!--RHYM CHANGES START -->!--RHYM CHANGES END --> div classportlet-boundary portlet-boundary_rhythmecommarketselectorportlet_WAR_rhythmecommarketselectorportlet_ portlet-static portlet-static-end portlet-barebone idp_p_id_rhythmecommarketselectorportlet_WAR_rhythmecommarketselectorportlet_> span idp_rhythmecommarketselectorportlet_WAR_rhythmecommarketselectorportlet>/span> section classportlet idportlet_rhythmecommarketselectorportlet_WAR_rhythmecommarketselectorportlet> div classportlet-content> div class portlet-content-container> div classportlet-body> liferay-theme:defineObjects />div classrhy widget__rhythmecommarketselectorportlet_WAR_rhythmecommarketselectorportlet_>/div>div classrhy widget__rhythmecommarketselectorportlet_WAR_rhythmecommarketselectorportlet_>/div>script> App.startWidget(rhythm-ecom-market-selector-portlet, .widget__rhythmecommarketselectorportlet_WAR_rhythmecommarketselectorportlet_, { saveSelectedMarketActionURL: https:\/\/www.jascopro.com\/home?p_p_idrhythmecommarketselectorportlet_WAR_rhythmecommarketselectorportlet&p_p_lifecycle1&p_p_statenormal&p_p_modeview&_rhythmecommarketselectorportlet_WAR_rhythmecommarketselectorportlet_javax.portlet.actionsaveSelectedMarketActionURL&p_authbNq8y9S9, logoURL: \/image\/layout_set_logo?img_id44452244&t1764928170239, namespace: _rhythmecommarketselectorportlet_WAR_rhythmecommarketselectorportlet_, clearSitePermissionCacheURL: , email: , hasAdminRole: false, isSignedIn: false, guestsLength: 1, checkoutTargetPage: \/checkout, homeTargetPage: \/shop, hasSiteEditorRole: false, });/script> /div> /div> /div>/section>script> var isContentPage true; stylePortletTopper(); function stylePortletTopper() { var portletTopperElements document.querySelectorAll(.controls-visible .portlet-topper-toolbar); if (isContentPage true) { if (!document.body.classList.contains(has-edit-mode-menu)) { portletTopperElements.forEach(function(element) { var parentMain element.closest(main); if (parentMain) element.style.display none; }); } } }/script> /div> /div> div classutil-menu-item>!--RHYM CHANGES START -->!--RHYM CHANGES END --> div classportlet-boundary portlet-boundary_rhythmecomlanguageportlet_WAR_rhythmecomlanguageportlet_ portlet-static portlet-static-end portlet-barebone idp_p_id_rhythmecomlanguageportlet_WAR_rhythmecomlanguageportlet_> span idp_rhythmecomlanguageportlet_WAR_rhythmecomlanguageportlet>/span> section classportlet idportlet_rhythmecomlanguageportlet_WAR_rhythmecomlanguageportlet> div classportlet-content> div class portlet-content-container> div classportlet-body> div classrhy widget__rhythmecomlanguageportlet_WAR_rhythmecomlanguageportlet_>/div>script> App.startWidget(rhythm-ecom-language-portlet, .widget__rhythmecomlanguageportlet_WAR_rhythmecomlanguageportlet_, { initData: JSON.parse({\localeID\:\en_US\,\iconHref\:\https:\/\/www.jascopro.com\/o\/rhythm-commerce-theme\/images\/language\/en_US.png\,\title\:\English\,\selected\:true,\localeFriendlyURL\:\https:\/\/www.jascopro.com\/home\}), config: { useNewTheme: true, platformThemeVersion: , setLocalePreferenceURL: https:\/\/www.jascopro.com\/home?p_p_idrhythmecomlanguageportlet_WAR_rhythmecomlanguageportlet&p_p_lifecycle2&p_p_statenormal&p_p_modeview&p_p_resource_idsetLocalePreference&p_p_cacheabilitycacheLevelPage, }, });/script> /div> /div> /div>/section>script> var isContentPage true; stylePortletTopper(); function stylePortletTopper() { var portletTopperElements document.querySelectorAll(.controls-visible .portlet-topper-toolbar); if (isContentPage true) { if (!document.body.classList.contains(has-edit-mode-menu)) { portletTopperElements.forEach(function(element) { var parentMain element.closest(main); if (parentMain) element.style.display none; }); } } }/script> /div> /div> div classutil-menu-item util-login>!--RHYM CHANGES START -->!--RHYM CHANGES END --> div classportlet-boundary portlet-boundary_rhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_ portlet-static portlet-static-end portlet-barebone idp_p_id_rhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_INSTANCE_1234_> span idp_rhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_INSTANCE_1234>/span> section classportlet idportlet_rhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_INSTANCE_1234> div classportlet-content> div class portlet-content-container> div classportlet-body> div classrhy widget__rhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_INSTANCE_1234_>/div> script> App.startWidget(rhythm-login-multi-instances-portlet, .widget__rhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_INSTANCE_1234_, { config: { redirectNewSiteUrl: , platformThemeVersion: , portletNamespace: _rhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_INSTANCE_1234_, portletInstanceId: 1234, portletId: rhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_INSTANCE_1234, themePathImages: https:\/\/www.jascopro.com\/o\/rhythm-commerce-theme\/images, forgotPasswordURL: https:\/\/www.jascopro.com\/home?p_p_idcom_liferay_login_web_portlet_LoginPortlet&p_p_lifecycle0&p_p_statemaximized&p_p_modeview&_com_liferay_login_web_portlet_LoginPortlet_mvcRenderCommandName%2Flogin%2Fforgot_password, actionURL: https:\/\/www.jascopro.com\/home?p_p_idrhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_INSTANCE_1234&p_p_lifecycle1&p_p_statenormal&p_p_modeview&_rhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_INSTANCE_1234_javax.portlet.actionlogin&p_authbNq8y9S9, isSignedIn: false, userFullName: , ssoURL: , isLandingPageSet: true, registerLink: \/user-registration, errors: JSON.parse(), logoutLink: \/c\/portal\/logout, showRememberMe: true, rememberMe: Remember\x20Me, showCaptcha: , }, });/script> /div> /div> /div>/section>script> var isContentPage true; stylePortletTopper(); function stylePortletTopper() { var portletTopperElements document.querySelectorAll(.controls-visible .portlet-topper-toolbar); if (isContentPage true) { if (!document.body.classList.contains(has-edit-mode-menu)) { portletTopperElements.forEach(function(element) { var parentMain element.closest(main); if (parentMain) element.style.display none; }); } } }/script> /div> /div> div classutil-menu-item mini-cart>!--RHYM CHANGES START -->!--RHYM CHANGES END --> div classportlet-boundary portlet-boundary_rhythmecomminicartportlet_WAR_rhythmecomminicartportlet_ portlet-static portlet-static-end portlet-barebone idp_p_id_rhythmecomminicartportlet_WAR_rhythmecomminicartportlet_> span idp_rhythmecomminicartportlet_WAR_rhythmecomminicartportlet>/span> section classportlet idportlet_rhythmecomminicartportlet_WAR_rhythmecomminicartportlet> div classportlet-content> div class portlet-content-container> div classportlet-body> div classrhy widget__rhythmecomminicartportlet_WAR_rhythmecomminicartportlet_>/div>script>App.startWidget(rhythm-ecom-minicart-portlet, .widget__rhythmecomminicartportlet_WAR_rhythmecomminicartportlet_, { defaultLandingPage: \/home, minicartShoppingCartTargetPage: \/shopping-cart, minicartCheckoutTargetPage: \/checkout, minicartProductDetailsTargetPage: \/product-details, minicartIsQuantityEditable: true, minicartStockLevelIndicator: ICON, continueShoppingLandingPage: \/shop, userRegistrationTargetPage: \/user-registration, quoteRequestPage: \/request-quote, displayImages: true, orderLinesToShow: 7, cartInfoToShow: totalAmountAndQuantity, hookURL: , httpContentCharset: , returnTarget: , groupStyleSKU: true,});/script> /div> /div> /div>/section>script> var isContentPage true; stylePortletTopper(); function stylePortletTopper() { var portletTopperElements document.querySelectorAll(.controls-visible .portlet-topper-toolbar); if (isContentPage true) { if (!document.body.classList.contains(has-edit-mode-menu)) { portletTopperElements.forEach(function(element) { var parentMain element.closest(main); if (parentMain) element.style.display none; }); } } }/script> /div> /div> !-- User Impersonation banner --> div classactions-nav-wrapper> div classactions-nav> !-- This is the place to add theme specific actions nav portlets --> div classdynamic-search-container>!--RHYM CHANGES START -->!--RHYM CHANGES END --> div classportlet-boundary portlet-boundary_rhythmecomdynamicsearchportlet_WAR_rhythmecomdynamicsearchportlet_ portlet-static portlet-static-end portlet-barebone idp_p_id_rhythmecomdynamicsearchportlet_WAR_rhythmecomdynamicsearchportlet_> span idp_rhythmecomdynamicsearchportlet_WAR_rhythmecomdynamicsearchportlet>/span> section classportlet idportlet_rhythmecomdynamicsearchportlet_WAR_rhythmecomdynamicsearchportlet> div classportlet-content> div class portlet-content-container> div classportlet-body> div classrhy widget__rhythmecomdynamicsearchportlet_WAR_rhythmecomdynamicsearchportlet_>/div>script> App.startWidget(rhythm-ecom-dynamicsearch-portlet, .widget__rhythmecomdynamicsearchportlet_WAR_rhythmecomdynamicsearchportlet_, { widgetName: rhythm-ecom-dynamicsearch-portlet, productSearchTargetPage: \/shop, productListingTargetPage: \/shop, productDetailsTargetPage: \/product-details, minimumQueryChars: 3, useSimpleSearch: true, showTopProducts: true, showTopCategories: true, showTopBrands: true, maximumTopFacets: 5, showTopResultsOnType: true, maximumSuggestions: 5, displayImages: true, displayCategoryImages: true, displayBrandImages: true, expandDynamicSearch: true, searchCategoryDropdown: true, });/script> /div> /div> /div>/section>script> var isContentPage true; stylePortletTopper(); function stylePortletTopper() { var portletTopperElements document.querySelectorAll(.controls-visible .portlet-topper-toolbar); if (isContentPage true) { if (!document.body.classList.contains(has-edit-mode-menu)) { portletTopperElements.forEach(function(element) { var parentMain element.closest(main); if (parentMain) element.style.display none; }); } } }/script> /div> /div> div classcart-count-container idmobile-mini-cart> a classbtn-icon idbtn-mobile-cart-summary> svg classicon cart> use xlink:href#cart>/use> /svg> span classcart-count>/span> /a> /div> /div> /div> !-- Dynamic Menu Include --> div classdynamic-menu-header-container> div classdynamic-menu-portlet-container>!--RHYM CHANGES START -->!--RHYM CHANGES END --> div classportlet-boundary portlet-boundary_rhythmdynamicmenuheaderportlet_WAR_rhythmdynamicmenuportlet_ portlet-static portlet-static-end portlet-barebone idp_p_id_rhythmdynamicmenuheaderportlet_WAR_rhythmdynamicmenuportlet_> span idp_rhythmdynamicmenuheaderportlet_WAR_rhythmdynamicmenuportlet>/span> section classportlet idportlet_rhythmdynamicmenuheaderportlet_WAR_rhythmdynamicmenuportlet> div classportlet-content> div class portlet-content-container> div classportlet-body> div classrhy widget__rhythmdynamicmenuheaderportlet_WAR_rhythmdynamicmenuportlet_>/div>script> App.startWidget(rhythm-dynamicmenu-portlet, .widget__rhythmdynamicmenuheaderportlet_WAR_rhythmdynamicmenuportlet_, { initData: JSON.parse({\name\:\Home\,\link\:\https:\/\/www.jascopro.com\/home\,\submenus\:null,\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:true},{\name\:\About Us\,\link\:\https:\/\/www.jascopro.com\/about-us\,\submenus\:{\name\:\Who We Are\,\link\:\https:\/\/www.jascopro.com\/who-we-are\,\submenus\:null,\target\:\\},{\name\:\News Room\,\link\:\https:\/\/www.jascopro.com\/news-room\,\submenus\:null,\target\:\\},{\name\:\Warehouse Services\,\link\:\https:\/\/www.jascopro.com\/warehouse-services\,\submenus\:null,\target\:\\},\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:true},{\name\:\Contact Us\,\link\:\https:\/\/www.jascopro.com\/contact-us\,\submenus\:null,\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:true},{\name\:\Shop\,\link\:\https:\/\/www.jascopro.com\/shop\,\submenus\:null,\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:true},{\name\:\Resources\,\link\:\https:\/\/www.jascopro.com\/resources\,\submenus\:{\name\:\Cut Sheets\,\link\:\https:\/\/www.jascopro.com\/cut-sheets\,\submenus\:null,\target\:\\},{\name\:\Brochures\,\link\:\https:\/\/www.jascopro.com\/brochures\,\submenus\:null,\target\:\\},{\name\:\FAQS\,\link\:\https:\/\/www.jascopro.com\/faqs\,\submenus\:null,\target\:\\},{\name\:\Catalogs\,\link\:\https:\/\/www.jascopro.com\/catalogs\,\submenus\:null,\target\:\\},{\name\:\SmartCycle\,\link\:\https:\/\/www.jascopro.com\/smartcycle2\,\submenus\:null,\target\:\\},{\name\:\Flyers\,\link\:\https:\/\/www.jascopro.com\/flyers\,\submenus\:null,\target\:\\},{\name\:\Presentations\,\link\:\https:\/\/www.jascopro.com\/presentations\,\submenus\:null,\target\:\\},{\name\:\Under-Eave Lights\,\link\:\https:\/\/www.jascopro.com\/under-eave-lights\,\submenus\:null,\target\:\\},\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:true},{\name\:\SmartCycle\,\link\:\https:\/\/www.jascopro.com\/smartcycle\,\submenus\:null,\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:false,\header\:true},{\name\:\Under-Eave Lights\,\link\:\https:\/\/www.jascopro.com\/under-eave-light-interests-form\,\submenus\:null,\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:true},{\name\:\Terms and Conditions\,\link\:\https:\/\/www.jascopro.com\/terms-and-conditions\,\submenus\:null,\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:false},{\name\:\Privacy Policy\,\link\:\https:\/\/www.jascopro.com\/privacy-policy\,\submenus\:null,\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:false}), config: { categoryTargetUrl: https:\/\/www.jascopro.com\/shop, shopAllUrl: https:\/\/www.jascopro.com\/shop, showCounters: true, showHorizontally: true, platformThemeVersion: , isHeader: true } });/script> /div> /div> /div>/section>script> var isContentPage true; stylePortletTopper(); function stylePortletTopper() { var portletTopperElements document.querySelectorAll(.controls-visible .portlet-topper-toolbar); if (isContentPage true) { if (!document.body.classList.contains(has-edit-mode-menu)) { portletTopperElements.forEach(function(element) { var parentMain element.closest(main); if (parentMain) element.style.display none; }); } } }/script> /div> /div> /div> /div> div classsearch-and-location-selector-wrapper-mobile> div classdynamic-search-container-mobile> /div> div classlocation-selector-container-mobile> /div> /div>/section> /header> !-- section idcontent classrhy> --> main classcontent idcontent> h2 classhide-accessible>JascoPro Customer Portal - www.jascopro.com/h2> div classlayout-content portlet-layout idmain-content rolemain> div classlfr-layout-structure-item-banner-slider--copy- lfr-layout-structure-item-b5813e7e-194c-1c3b-d479-4a7d99ce7e72 style>div idfragment-43f70713-fd90-73c1-1a44-3babc15764a0 > div classsection-slider> div classcarousel> ol classcarousel-navigation> li> button aria-controlsiiqh-carouselInner classactive typebutton> span classsr-only> Focus first slide /span> /button> /li> li> button aria-controlsiiqh-carouselInner typebutton> span classsr-only> Focus second slide /span> /button> /li> li> button aria-controlsiiqh-carouselInner typebutton> span classsr-only> Focus third slide /span> /button> /li> /ol> div classcarousel-inner text-break idiiqh-carouselInner rolegroup> div classactive carousel-item> img altFirst Responsive Image classw-100 data-lfr-editable-id01-01-image data-lfr-editable-typeimage src/documents/42705994/0/Header+1+%284%29.jpg/aad4da00-020f-b5de-654f-5ed893fcd9d7?t1723606567874&downloadtrue> div classcarousel-caption d-md-block d-none> div classcontainer> div classrow> div classcol-12 col-md-8 col-xl-6 mx-auto text-center> h1 data-lfr-editable-id01-02-title data-lfr-editable-typerich-text>font color#343a40>span stylecaret-color: rgb(52, 58, 64);> /span>/font>/h1> div classlead mb-4 data-lfr-editable-id01-03-subtitle data-lfr-editable-typerich-text>p> /p>/div> a classbtn btn-primary data-lfr-editable-id01-04-link data-lfr-editable-typelink href./shop idfragment-iiqh-01-04-link>Shop Now/a> /div> /div> /div> /div> /div> div classcarousel-item> img altSecond Responsive Image classw-100 data-lfr-editable-id02-01-image data-lfr-editable-typeimage src/documents/42705994/0/Header+2+%282%29.jpg/eda40a82-1df6-8f1f-d611-c69eb4e5a789?t1723606596291&downloadtrue> div classcarousel-caption d-md-block d-none> div classcontainer> div classrow> div classcol-12 col-md-8 col-xl-6 mx-auto text-center> h1 data-lfr-editable-id02-02-title data-lfr-editable-typerich-text>span classsmall> /span>/h1> div classlead mb-4 data-lfr-editable-id02-03-subtitle data-lfr-editable-typerich-text>p>span classsmall> /span>/p>/div> a classbtn btn-primary data-lfr-editable-id02-04-link data-lfr-editable-typelink href./smartcycle1 idfragment-iiqh-02-04-link>Learn More/a> /div> /div> /div> /div> /div> div classcarousel-item> picture data-fileentryid80671918>source media(max-width:300px) srcset/o/adaptive-media/image/80671918/Thumbnail-300x300/Eave+light+banner.jpg?t1738640145859 />source media(max-width:1000px) and (min-width:300px) srcset/o/adaptive-media/image/80671918/Preview-1000x0/Eave+light+banner.jpg?t1738640145859 />img altThird Responsive Image classw-100 data-lfr-editable-id03-01-image data-lfr-editable-typeimage src/documents/42705994/0/Eave+light+banner.jpg/9a3c2bea-7ea9-b167-d042-eca7c41a9a87?version1.0&t1738640145859 data-fileentryid80671918>/picture> div classcarousel-caption d-md-block d-none> div classcontainer> div classrow> div classcol-12 col-md-8 col-xl-6 mx-auto text-center> h1 data-lfr-editable-id03-02-title data-lfr-editable-typerich-text> Permanent Outdoor Eave Lights /h1> div classlead mb-4 data-lfr-editable-id03-03-subtitle data-lfr-editable-typerich-text>h3>From ordinary to extraordinary, just add color! /h3>/div> a classbtn btn-primary data-lfr-editable-id03-04-link data-lfr-editable-typelink hrefhttps://www.jascopro.com/shop/-/o/ecom-search/eave%20lights idfragment-iiqh-03-04-link>Learn More/a> /div> /div> /div> /div> /div> /div> /div>/div>/div>style >@keyframes moveLeftActive { from { transform: translateX(0); } to { transform: translateX(100%); }}@keyframes moveLeft { from { transform: translateX(-100%); } to { transform: translateX(0); }}@keyframes moveRightActive { from { transform: translateX(0); } to { transform: translateX(-100%); }}@keyframes moveRight { from { transform: translateX(100%); } to { transform: translateX(0); }}.section-slider .carousel { position: relative;}.section-slider .carousel-caption { bottom: 50%; left: 0; right: 0; transform: translateY(50%);}.section-slider .carousel-item { opacity: 0;}.section-slider .carousel-item.move-right,.section-slider .carousel-item.move-left { animation-duration: 0.6s; animation-iteration-count: 1; display: block;}.section-slider .carousel-item.active,.section-slider .carousel-item.move-left,.section-slider .carousel-item.move-right { opacity: 1;}.section-slider .carousel-item.active { transform: translateX(0);}.section-slider .carousel-item.active.move-left { animation-name: moveLeftActive;}.section-slider .carousel-item.move-left { animation-name: moveLeft;}.section-slider .carousel-item.active.move-right { animation-name: moveRightActive;}.section-slider .carousel-item.move-right { animation-name: moveRight;}.section-slider .carousel-navigation { bottom: 10px; display: flex; justify-content: center; left: 0; list-style: none; padding-left: 0; position: absolute; right: 0; z-index: 15;}.section-slider .carousel-navigation button { background-color: rgba(255, 255, 255, 0.5); border: 0; flex: 0 1 auto; height: 3px; margin-left: 3px; margin-right: 3px; position: relative; width: 30px;}.section-slider .carousel-navigation button:focus { outline: 0; text-decoration: none;}.section-slider .carousel-navigation button.active { background-color: rgba(255, 255, 255, 1);}/style>script typemodule >const configuration {}; const fragmentElement document.querySelector(#fragment-43f70713-fd90-73c1-1a44-3babc15764a0); const fragmentEntryLinkNamespace iiqh; const fragmentNamespace iiqh; const layoutMode view;const MOVE_LEFT move-left;const MOVE_RIGHT move-right;const INTERVAL 5000;const editMode document.body.classList.contains(has-edit-mode-menu);const indicators .slice.call( fragmentElement.querySelectorAll(.carousel-navigation button));const items .slice.call(fragmentElement.querySelectorAll(.carousel-item));let moving false;function getActiveIndicator() { return fragmentElement.querySelector(.carousel-navigation .active);}function move(movement, index null) { if (moving) { return; } moving true; const activeItem fragmentElement.querySelector(.carousel-item.active); const indexActiveItem items.indexOf(activeItem); const activeIndicator getActiveIndicator(); let nextItemIndex index; if (index null) { nextItemIndex indexActiveItem > 2 ? 0 : indexActiveItem + 1; } const nextItem itemsnextItemIndex; activeItem.classList.add(movement); nextItem.classList.add(movement); activeIndicator.classList.remove(active); indicatorsnextItemIndex.classList.add(active); setTimeout(function () { activeItem.classList.remove(active, movement); nextItem.classList.add(active); nextItem.classList.remove(movement); moving false; }, 600);}function createInterval() { let intervalId null; if (!editMode) { intervalId setInterval(function () { if (document.contains(items0)) { move(MOVE_RIGHT); } else { clearInterval(intervalId); } }, INTERVAL); } return intervalId;}(function main() { let intervalId createInterval(); indicators.forEach(function (indicator, index) { indicator.addEventListener(click, function () { const indexActiveIndicator indicators.indexOf( getActiveIndicator() ); if (index ! indexActiveIndicator) { if (index indexActiveIndicator) { move(MOVE_LEFT, index); } else { move(MOVE_RIGHT, index); } } clearInterval(intervalId); intervalId createInterval(); }); });})();;/script>/div>div classlfr-layout-structure-item-basic-component-image lfr-layout-structure-item-8f5c0824-a121-0b60-a223-1c763b037766 style>div idfragment-b3cdc8cf-5198-4ad2-bb9e-ca4d40bbced5 > div classcomponent-image overflow-hidden> img alt classw-100 data-lfr-editable-idimage-square data-lfr-editable-typeimage src/documents/42705994/0/Divider+%282%29.jpg/5eb4c9db-c11b-6803-708d-549f2e471bff?t1723606179068&downloadtrue>/div>/div>/div>div classlfr-layout-structure-item-featured-content-highlights-circle lfr-layout-structure-item-01f90ed3-8dc3-d2e5-6f00-e9f6e44915d1 style>div idfragment-006f1a52-c696-64b7-926c-9a5670771a3e > div classpy-4 py-lg-8 py-md-6 section-featured> div classcontainer> div classrow text-break text-center> div classcol-12 col-lg-4 mt-5 mt-lg-0> img altResponsive Image classimg-fluid data-lfr-editable-id01-01-image data-lfr-editable-typeimage src/documents/42705994/0/Lifestyle+-+Connected+Home.jpg/09e743cc-025b-4327-7b69-d68ebb78247b?t1721135732052&downloadtrue> h2 classmt-4 data-lfr-editable-id01-02-title data-lfr-editable-typerich-text>Smart Home/h2> p classmt-2 text-secondary data-lfr-editable-id01-03-body data-lfr-editable-typerich-text>Manage your home from anywhere with our smart switches, dimmers, plugs and more. All available in our JascoPro app./p> a classlink data-lfr-editable-id01-04-link data-lfr-editable-typelink href./shop/-/o/category/BDB3BC95-A879-4D6B-BDDC-5C0D650BEE5A/ecom-search/JascoPro idfragment-qkoi-01-04-link target_self>Shop Smart Home/a> /div> div classcol-12 col-lg-4 mt-5 mt-lg-0> img altResponsive Image classimg-fluid data-lfr-editable-id02-01-image data-lfr-editable-typeimage src/documents/42705994/0/Lifestyle+-+Outdoor.jpg/811bb018-fbc6-074b-4b00-efb262f1b023?t1723606303801&downloadtrue> h2 classmt-4 data-lfr-editable-id02-02-title data-lfr-editable-typerich-text> Outdoor Lighting/h2> p classmt-2 text-secondary data-lfr-editable-id02-03-body data-lfr-editable-typerich-text>Discover JascoPros energy-efficient LED outdoor lighting, with weather-resistant designs and smart controls for enhanced ambiance and security./p> a classlink data-lfr-editable-id02-04-link data-lfr-editable-typelink href./shop/-/o/category/35755B2F-A89C-4B1E-A875-8E55CC4AB509/ecom-search/Jascopro idfragment-qkoi-02-04-link target_blank>Shop Outdoor/a> /div> div classcol-12 col-lg-4 mt-5 mt-lg-0> img altResponsive Image classimg-fluid data-lfr-editable-id03-01-image data-lfr-editable-typeimage src/documents/42705994/0/Lifestyle+-+Lighting.jpg/4c530b8f-7d4d-0c1f-3254-43fd83eb54e8?t1721135756779&downloadtrue> h2 classmt-4 data-lfr-editable-id03-02-title data-lfr-editable-typerich-text>Indoor Lighting/h2> p classmt-2 text-secondary data-lfr-editable-id03-03-body data-lfr-editable-typerich-text>Explore JascoPros premium lighting products, including energy-efficient LED bulbs and smart systems./p> a classlink data-lfr-editable-id03-04-link data-lfr-editable-typelink href./shop/-/o/category/CD7BF78B-DABD-4F48-99F2-D091F5229888/ecom-search/JascoPro idfragment-qkoi-03-04-link target_blank>Shop Indoor /a> /div> /div> /div>/div>/div>/div>div classlfr-layout-structure-item-basic-component-image lfr-layout-structure-item-e5adac47-0a5f-74e8-10e9-35929de29d83 style>div idfragment-c04b23a4-1131-40b7-2c82-91eda1729c54 > div classcomponent-image overflow-hidden> img alt classw-100 data-lfr-editable-idimage-square data-lfr-editable-typeimage src/documents/42705994/0/Other+support+banners_14+Resources.jpg/730b3d2d-1e1f-5bad-675d-9adca9a8c571?t1724861492895&downloadtrue>/div>/div>/div>div classlfr-layout-structure-item-7c1089b8-7331-cbb3-e675-a059e3d85a45 lfr-layout-structure-item-row style>div classcontainer-fluid p-0>div classrow align-items-lg-start align-items-sm-start align-items-start align-items-md-start flex-lg-row flex-sm-row flex-row flex-md-row>div classcol col-lg-6 col-sm-6 col-6 col-md-6>div classlfr-layout-structure-item-basic-component-image lfr-layout-structure-item-6cb8ec34-e2c5-68a8-452e-5fb131b8ae50 style>div idfragment-a749f899-ca2b-0dbb-f32c-070cfac77909 > div classcomponent-image overflow-hidden> a href/resources>img alt classw-100 data-lfr-editable-idimage-square data-lfr-editable-typeimage src/documents/42705994/0/Banner+-+Professionals+%281%29.jpg/32acc594-796c-7f90-66bc-bb3221de4486?t1723751201554&downloadtrue>/a>/div>/div>/div>/div>div classcol col-lg-6 col-sm-6 col-6 col-md-6>div classlfr-layout-structure-item-basic-component-image lfr-layout-structure-item-7dba9a16-f9b2-f71c-30a5-92b657a7bb9d style>div idfragment-2cd129c1-19f2-3cc8-f609-b408623f41e5 > div classcomponent-image overflow-hidden> a href./smartcycle>img alt classw-100 data-lfr-editable-idimage-square data-lfr-editable-typeimage src/documents/42705994/0/Banner+-+Homeowners+1.jpg/8034ec27-54a0-44af-d4e4-d5cc1f19c7b3?t1723751820899&downloadtrue>/a>/div>/div>/div>/div>/div>/div>/div>div classlfr-layout-structure-item-basic-component-image lfr-layout-structure-item-5b86eef6-5e0d-6fe2-d10f-3b7336d2177b style>div idfragment-50ab5fd0-a936-991f-c0ea-3a35d8407073 > div classcomponent-image overflow-hidden> img alt classw-100 data-lfr-editable-idimage-square data-lfr-editable-typeimage src/documents/42705994/0/Partners.jpg/5e53e56b-120d-216e-701c-8a6e2836ad0a?t1723606384048&downloadtrue>/div>/div>/div>div classlfr-layout-structure-item-758ab6c9-1458-4d3e-02fd-48c46506772b lfr-layout-structure-item-container style>div classlfr-layout-structure-item-7e2ecb86-a4f0-26c5-cf5b-43f62c989af4 lfr-layout-structure-item-row style>div classrow align-items-lg-start align-items-sm-start align-items-start align-items-md-start flex-lg-row flex-sm-row flex-row flex-md-row>div classcol col-lg-12 col-sm-12 col-12 col-md-12>div classlfr-layout-structure-item-basic-component-image lfr-layout-structure-item-dc2de5c9-79de-adf3-197f-d52437985353 style>div idfragment-b0d34cf8-ee9e-301a-c118-6b07a725cb38 > div classcomponent-image overflow-hidden> a href./who-we-are>img alt classw-100 data-lfr-editable-idimage-square data-lfr-editable-typeimage src/documents/42705994/0/Who+is+JPS+%2811%29.jpg/c8d7819a-b9b6-f3a5-3f85-9bf634a3f817?t1721847698641&downloadtrue>/a>/div>/div>/div>div classlfr-layout-structure-item-basic-component-image lfr-layout-structure-item-996d54a0-0a90-ace0-a55b-d711942285a2 style>div idfragment-8b25da17-4e20-986d-192d-619676e8989c > div classcomponent-image overflow-hidden> a href./web/shop/smartcycle?p_l_back_url%2Fgroup%2Fshop%2F%7E%2Fcontrol_panel%2Fmanage%3Fp_p_id%3Dcom_liferay_layout_admin_web_portlet_GroupPagesPortlet%26p_p_lifecycle%3D0%26p_p_state%3Dmaximized%26p_p_mode%3Dview%26_com_liferay_layout_admin_web_portlet_GroupPagesPortlet_tabs1%3Dpages%26_com_liferay_layout_admin_web_portlet_GroupPagesPortlet_privateLayout%3Dfalse%26_com_liferay_layout_admin_web_portlet_GroupPagesPortlet_displayStyle%3Dmiller-columns%26p_r_p_selPlid%3D3943894%26p_r_p_layoutSetBranchId%3D0%26p_p_auth%3DzSZxi3ji>img alt classw-100 data-lfr-editable-idimage-square data-lfr-editable-typeimage src/documents/42705994/0/Product+Info+%281%29.jpg/addeacb9-c426-fb42-51ef-ba389d43561e?t1721847815080&downloadtrue>/a>/div>/div>/div>div classlfr-layout-structure-item-basic-component-image lfr-layout-structure-item-041c82e2-0908-0dea-8d93-830d55709658 style>div idfragment-a029e559-4d2e-7c07-4761-e4043cde9cb0 > div classcomponent-image overflow-hidden> a href./web/shop/jascopro-app?p_l_back_url%2Fgroup%2Fshop%2F%7E%2Fcontrol_panel%2Fmanage%3Fp_p_id%3Dcom_liferay_layout_admin_web_portlet_GroupPagesPortlet%26p_p_lifecycle%3D0%26p_p_state%3Dmaximized%26p_v_l_s_g_id%3D31551683%26p_r_p_selPlid%3D0%26p_p_auth%3D8wzaHgxc>img alt classw-100 data-lfr-editable-idimage-square data-lfr-editable-typeimage src/documents/42705994/0/App+Info+2+%281%29.jpg/32a21e96-b6a9-da8b-4c27-9c99905bd942?t1721847744065&downloadtrue>/a>/div>/div>/div>div classlfr-layout-structure-item-basic-component-image lfr-layout-structure-item-fa5939bc-5e63-f6eb-3c84-a89c9f5c3f48 style>div idfragment-167bcb5c-4017-74a9-f682-40d718613927 > div classcomponent-image overflow-hidden> a href./web/shop/news-room?p_l_back_url%2Fgroup%2Fshop%2F%7E%2Fcontrol_panel%2Fmanage%3Fp_p_id%3Dcom_liferay_layout_admin_web_portlet_GroupPagesPortlet%26p_p_lifecycle%3D0%26p_p_state%3Dmaximized%26p_p_mode%3Dview%26_com_liferay_layout_admin_web_portlet_GroupPagesPortlet_tabs1%3Dpages%26_com_liferay_layout_admin_web_portlet_GroupPagesPortlet_privateLayout%3Dfalse%26_com_liferay_layout_admin_web_portlet_GroupPagesPortlet_displayStyle%3Dmiller-columns%26p_r_p_selPlid%3D3941165%26p_r_p_layoutSetBranchId%3D0%26p_p_auth%3DzSZxi3ji>img alt classw-100 data-lfr-editable-idimage-square data-lfr-editable-typeimage src/documents/42705994/0/Industry+-+Press+%281%29.jpg/de2b6963-df9f-a1e0-087f-53964db10d16?t1721847792015&downloadtrue>/a>/div>/div>/div>div classlfr-layout-structure-item-basic-component-separator lfr-layout-structure-item-30435b05-f626-506c-f23c-44de050709b1 style>div idfragment-6fa32891-757a-7950-7d42-5717cb28b35b > div classcomponent-separator> hr classm-0 pb-4 >/div>/div>/div>div classlfr-layout-structure-item-button--copy- lfr-layout-structure-item-6ff06ac4-6aea-82c4-297e-c473cb57ad91 style>div idfragment-52a28f86-fd4e-7f5d-05ff-44dc986ba391 > div classcomponent-button text-break> a classbtn btn-nm btn-primary data-lfr-editable-idlink data-lfr-editable-typelink href# idfragment-odgm-link> Back To Top /a>/div>/div>/div>div classlfr-layout-structure-item-basic-component-spacer lfr-layout-structure-item-65b57c72-7772-62af-e67c-31b7995d1a1c style>div idfragment-39c53c99-0d97-0848-f0da-23952e48f7ad > div classpy-3>/div>/div>/div>/div>/div>/div>/div> /div> form action# aria-hiddentrue classhide idhrefFm methodpost namehrefFm>span>/span>button hidden typesubmit>Hidden/button>/form> /main> footer idfooter classrhy site-footer show-mobile>!-- Footer will be placed inside the footer> element in portal_normal -->div classfooter-container> div classfooter-wrapper> div classdynamic-items> div classdynamic-item footer-dynamic-menu>!--RHYM CHANGES START -->!--RHYM CHANGES END --> div classportlet-boundary portlet-boundary_rhythmdynamicmenufooterportlet_WAR_rhythmdynamicmenuportlet_ portlet-static portlet-static-end portlet-barebone idp_p_id_rhythmdynamicmenufooterportlet_WAR_rhythmdynamicmenuportlet_> span idp_rhythmdynamicmenufooterportlet_WAR_rhythmdynamicmenuportlet>/span> section classportlet idportlet_rhythmdynamicmenufooterportlet_WAR_rhythmdynamicmenuportlet> div classportlet-content> div class portlet-content-container> div classportlet-body> div classrhy widget__rhythmdynamicmenufooterportlet_WAR_rhythmdynamicmenuportlet_>/div>script> App.startWidget(rhythm-dynamicmenu-portlet, .widget__rhythmdynamicmenufooterportlet_WAR_rhythmdynamicmenuportlet_, { initData: JSON.parse({\name\:\Home\,\link\:\https:\/\/www.jascopro.com\/home\,\submenus\:null,\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:true},{\name\:\About Us\,\link\:\https:\/\/www.jascopro.com\/about-us\,\submenus\:{\name\:\Who We Are\,\link\:\https:\/\/www.jascopro.com\/who-we-are\,\submenus\:null,\target\:\\},{\name\:\News Room\,\link\:\https:\/\/www.jascopro.com\/news-room\,\submenus\:null,\target\:\\},{\name\:\Warehouse Services\,\link\:\https:\/\/www.jascopro.com\/warehouse-services\,\submenus\:null,\target\:\\},\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:true},{\name\:\Contact Us\,\link\:\https:\/\/www.jascopro.com\/contact-us\,\submenus\:null,\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:true},{\name\:\Shop\,\link\:\https:\/\/www.jascopro.com\/shop\,\submenus\:null,\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:true},{\name\:\Resources\,\link\:\https:\/\/www.jascopro.com\/resources\,\submenus\:{\name\:\Cut Sheets\,\link\:\https:\/\/www.jascopro.com\/cut-sheets\,\submenus\:null,\target\:\\},{\name\:\Brochures\,\link\:\https:\/\/www.jascopro.com\/brochures\,\submenus\:null,\target\:\\},{\name\:\FAQS\,\link\:\https:\/\/www.jascopro.com\/faqs\,\submenus\:null,\target\:\\},{\name\:\Catalogs\,\link\:\https:\/\/www.jascopro.com\/catalogs\,\submenus\:null,\target\:\\},{\name\:\SmartCycle\,\link\:\https:\/\/www.jascopro.com\/smartcycle2\,\submenus\:null,\target\:\\},{\name\:\Flyers\,\link\:\https:\/\/www.jascopro.com\/flyers\,\submenus\:null,\target\:\\},{\name\:\Presentations\,\link\:\https:\/\/www.jascopro.com\/presentations\,\submenus\:null,\target\:\\},{\name\:\Under-Eave Lights\,\link\:\https:\/\/www.jascopro.com\/under-eave-lights\,\submenus\:null,\target\:\\},\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:true},{\name\:\SmartCycle\,\link\:\https:\/\/www.jascopro.com\/smartcycle\,\submenus\:null,\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:false,\header\:true},{\name\:\Under-Eave Lights\,\link\:\https:\/\/www.jascopro.com\/under-eave-light-interests-form\,\submenus\:null,\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:true},{\name\:\Terms and Conditions\,\link\:\https:\/\/www.jascopro.com\/terms-and-conditions\,\submenus\:null,\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:false},{\name\:\Privacy Policy\,\link\:\https:\/\/www.jascopro.com\/privacy-policy\,\submenus\:null,\target\:\\,\sourcePath\:null,\menuLimit\:null,\menuDepth\:null,\footer\:true,\header\:false}), config: { categoryTargetUrl: https:\/\/www.jascopro.com\/shop, showCounters: false, platformThemeVersion: , isHeader: false } });/script> /div> /div> /div>/section>script> var isContentPage true; stylePortletTopper(); function stylePortletTopper() { var portletTopperElements document.querySelectorAll(.controls-visible .portlet-topper-toolbar); if (isContentPage true) { if (!document.body.classList.contains(has-edit-mode-menu)) { portletTopperElements.forEach(function(element) { var parentMain element.closest(main); if (parentMain) element.style.display none; }); } } }/script> /div> /div> /div> div classstatic-items> div classstatic-item footer-contact-info-wrapper>!--RHYM CHANGES START -->!--RHYM CHANGES END --> div classportlet-boundary portlet-boundary_rhythmmarketcontactinfoportlet_WAR_rhythmmarketcontactinfoportlet_ portlet-static portlet-static-end portlet-barebone idp_p_id_rhythmmarketcontactinfoportlet_WAR_rhythmmarketcontactinfoportlet_> span idp_rhythmmarketcontactinfoportlet_WAR_rhythmmarketcontactinfoportlet>/span> section classportlet idportlet_rhythmmarketcontactinfoportlet_WAR_rhythmmarketcontactinfoportlet> div classportlet-content> div class portlet-content-container> div classportlet-body> div classrhy widget__rhythmmarketcontactinfoportlet_WAR_rhythmmarketcontactinfoportlet_>/div>script> App.startWidget(rhythm-market-contact-info-portlet, .widget__rhythmmarketcontactinfoportlet_WAR_rhythmmarketcontactinfoportlet_, { displaySelectedStore: false, });/script> /div> /div> /div>/section>script> var isContentPage true; stylePortletTopper(); function stylePortletTopper() { var portletTopperElements document.querySelectorAll(.controls-visible .portlet-topper-toolbar); if (isContentPage true) { if (!document.body.classList.contains(has-edit-mode-menu)) { portletTopperElements.forEach(function(element) { var parentMain element.closest(main); if (parentMain) element.style.display none; }); } } }/script> /div> /div> div classstatic-item footer-social-media-wrapper>!--RHYM CHANGES START -->!--RHYM CHANGES END --> div classportlet-boundary portlet-boundary_rhythmsocialmediaportlet_WAR_rhythmsocialmediaportlet_ portlet-static portlet-static-end portlet-barebone idp_p_id_rhythmsocialmediaportlet_WAR_rhythmsocialmediaportlet_INSTANCE_mainfooterinstanceid_> span idp_rhythmsocialmediaportlet_WAR_rhythmsocialmediaportlet_INSTANCE_mainfooterinstanceid>/span> section classportlet idportlet_rhythmsocialmediaportlet_WAR_rhythmsocialmediaportlet_INSTANCE_mainfooterinstanceid> div classportlet-content> div class portlet-content-container> div classportlet-body> div classrhy widget__rhythmsocialmediaportlet_WAR_rhythmsocialmediaportlet_INSTANCE_mainfooterinstanceid_>/div>script> App.startWidget(rhythm-social-media-portlet, .widget__rhythmsocialmediaportlet_WAR_rhythmsocialmediaportlet_INSTANCE_mainfooterinstanceid_, { initData: JSON.parse({\label\:\socialmedia.label.facebook\,\baseUrl\:\https:\/\/www.facebook.com\/\,\slug\:\\,\configId\:\facebookSlug\,\nameIndentifier\:\facebook\},{\label\:\socialmedia.label.twitter\,\baseUrl\:\https:\/\/twitter.com\/\,\slug\:\\,\configId\:\twitterSlug\,\nameIndentifier\:\twitter\},{\label\:\socialmedia.label.linkedin\,\baseUrl\:\ http:\/\/linkedin.com\/\,\slug\:\https:\/\/www.linkedin.com\/company\/jascopro-series\/?viewAsMembertrue\,\configId\:\linkedinSlug\,\nameIndentifier\:\linkedin\},{\label\:\socialmedia.label.youtube\,\baseUrl\:\https:\/\/www.youtube.com\/\,\slug\:\account-here\,\configId\:\youtubeSlug\,\nameIndentifier\:\youtube\},{\label\:\socialmedia.label.instagram\,\baseUrl\:\https:\/\/www.instagram.com\/\,\slug\:\\,\configId\:\instagramSlug\,\nameIndentifier\:\instagram\},{\label\:\socialmedia.label.pinterest\,\baseUrl\:\https:\/\/www.pinterest.com\/\,\slug\:\\,\configId\:\pinterestSlug\,\nameIndentifier\:\pinterest\}), });/script> /div> /div> /div>/section>script> var isContentPage true; stylePortletTopper(); function stylePortletTopper() { var portletTopperElements document.querySelectorAll(.controls-visible .portlet-topper-toolbar); if (isContentPage true) { if (!document.body.classList.contains(has-edit-mode-menu)) { portletTopperElements.forEach(function(element) { var parentMain element.closest(main); if (parentMain) element.style.display none; }); } } }/script> /div> /div> div classstatic-item footer-user-defined-content-wrapper>!--RHYM CHANGES START -->!--RHYM CHANGES END --> div classportlet-boundary portlet-boundary_rhythmfootercontentportlet_WAR_rhythmfootercontentportlet_ portlet-static portlet-static-end portlet-barebone idp_p_id_rhythmfootercontentportlet_WAR_rhythmfootercontentportlet_> span idp_rhythmfootercontentportlet_WAR_rhythmfootercontentportlet>/span> section classportlet idportlet_rhythmfootercontentportlet_WAR_rhythmfootercontentportlet> div classportlet-content> div class portlet-content-container> div classportlet-body> div aria-labelfooter-content classrhy rhythm-footer-content> article classdynamic-menu-static> div classjournal-content-article data-analytics-asset-idGLOBALCSS data-analytics-asset-titleGLOBALCSS data-analytics-asset-typeweb-content data-analytics-web-content-resource-pk42710214> p> /p>style typetext/css>/* CSS Override */ /* lis example section.product-detail { background-color: purple;}*//* font change .rhy html, .rhy body, .rhy div, .rhy span, .rhy object, .rhy iframe, .rhy h1, .rhy h2, .rhy h3, .rhy h4, .rhy h5, .rhy h6, .rhy p, .rhy blockquote, .rhy pre, .rhy a, .rhy abbr, .rhy address, .rhy cite, .rhy code, .rhy em, .rhy img, .rhy small, .rhy strong, .rhy sub, .rhy sup, .rhy dl, .rhy dt, .rhy dd, .rhy ol, .rhy ul, .rhy li, .rhy fieldset, .rhy form, .rhy legend, .rhy label, .rhy input, .rhy textarea, .rhy select, .rhy button, .rhy table, .rhy caption, .rhy thead, .rhy tbody, .rhy tfoot, .rhy tr, .rhy th, .rhy td { font-family: Comic Sans MS;;}*//* hide view licenses portlet */#portlet_rhythm_portal_portlet_osslicenseinfo { display: none; }/* to allow bullets on item detail long description section */ #portlet_rhythmecomitemattributeportlet_WAR_rhythmecomitemattributeportlet .rhy ul { list-style-type: disc; margin-left: 40px;} /* to allow bullets on item detail short description section */ #portlet_rhythmecomproductdetailsportlet_WAR_rhythmecomproductdetailsportlet .rhy ul { list-style-type: disc; margin-left: 40px;}#portlet_rhythmecomcheckoutflowportlet_WAR_rhythmecomcheckoutflowportlet .unavailable-products-container button { display:none; visibility: hidden;}#portlet_rhythmecomcheckoutflowportlet_WAR_rhythmecomcheckoutflowportlet .btn-link.link-secondary.add-notes { visibility: hidden;}#portlet_rhythmecomcheckoutflowportlet_WAR_rhythmecomcheckoutflowportlet .btn-link.link-secondary.add-notes:after { content: Add Delivery Instructions; display:block; visibility: visible;}#portlet_rhythmecomcheckoutflowportlet_WAR_rhythmecomcheckoutflowportlet .edit-note-container label{ visibility: hidden;}#portlet_rhythmecomcheckoutflowportlet_WAR_rhythmecomcheckoutflowportlet .edit-note-container label:after{ visibility: visible; display:block; content:Delivery Instructions;}#portlet_rhythmecomshoppingcartportlet_WAR_rhythmecomshoppingcartportlet .cart-header button { visibility: hidden;}@media only screen and (min-width: 64.0625em) { .rhy .dynamic-menu.dynamic-menu-header .lvl-1-menu.submenu-items { margin-top: -50px; margin-bottom: -20px;}}.rhy .product-detail .product-description { visibility: hidden;}.rhy .tabbed-content .tab-header.active { z-index: 0; }.form-check-card .custom-control-input { z-index: 0;}.form-check-card .custom-control-label { z-index: 0;}.splitter { z-index: 0;}/* for sticky *********/.sticky { position: fixed; top: 0; width: 100%; z-index: 1;}/* end sticky *//* Default Image Override *//* Listing */.img-container.no-image { background-color: #fff !important; background: url(/documents/42705994/0/Images+Coming+Soon.png); background-size: contain; background-position: center; background-repeat: no-repeat !important;}.image-container .no-image img {visibility: hidden; }/* Cart */.image-container.default-img { background-color: #fff !important; background: url(/documents/42705994/0/Images+Coming+Soon.png); background-size: contain; background-position: center; background-repeat: no-repeat;}.image-container.default-img img {visibility: hidden; }.rhy .mini-cart-container .cart-items .image-container.default-img { background-color: #fff;}/* Product Detail */.rhy .default-img .image { background-color: #fff !important; background-image: url(/documents/42705994/0/Images+Coming+Soon.png) !Important; background-position: center; background-size: contain !important;}.rhy .product.default-img { padding: 0px; padding-bottom: 0; border: 1px solid #eee; }/style>p> /p> /div> /article>/div> /div> /div> /div>/section>script> var isContentPage true; stylePortletTopper(); function stylePortletTopper() { var portletTopperElements document.querySelectorAll(.controls-visible .portlet-topper-toolbar); if (isContentPage true) { if (!document.body.classList.contains(has-edit-mode-menu)) { portletTopperElements.forEach(function(element) { var parentMain element.closest(main); if (parentMain) element.style.display none; }); } } }/script> /div> /div> /div> /div>/div> /footer> div classrhy rhythm-notifications> !--Container for popup notifications --> /div> div classrhy rhythm-modals> !--Container for modals --> /div> /div> script src/combo?browserIdother&minifierTypejs&themeIdrhythmcommercetheme_WAR_rhythmcommercetheme&languageIden_US&rhythmmyaccountportlet_WAR_rhythmmyaccountportlet:%2Fo%2Frhythm-myaccount-portlet%2Fjs%2Fmain.js&t1764834550000 typetext/javascript>/script>script typetext/javascript> /script>script>/script> !--RHYM Changes --> !--End RHYM Changes --> script typetext/javascript>(function() {var $ AUI.$;var _ AUI._; var onDestroyPortlet function () { Liferay.detach(messagePosted, onMessagePosted); Liferay.detach(destroyPortlet, onDestroyPortlet); }; Liferay.on(destroyPortlet, onDestroyPortlet); var onMessagePosted function (event) { if (window.Analytics) { const eventProperties { className: event.className, classPK: event.classPK, commentId: event.commentId, text: event.text, }; const blogNode document.querySelector( data-analytics-asset-id + event.classPK + ); const dmNode document.querySelector( data-analytics-file-entry-id + event.classPK + ); if (blogNode) { eventProperties.title blogNode.dataset.analyticsAssetTitle; } else if (dmNode) { eventProperties.title dmNode.dataset.analyticsFileEntryTitle; } Analytics.send(posted, Comment, eventProperties); } }; Liferay.on(messagePosted, onMessagePosted);})(); function getValueByAttribute(node, attr) { return ( node.datasetattr || (node.parentElement && node.parentElement.datasetattr) ); } function sendDocumentDownloadedAnalyticsEvent(anchor) { var fileEntryId getValueByAttribute( anchor, analyticsFileEntryId ); var title getValueByAttribute( anchor, analyticsFileEntryTitle ); var version getValueByAttribute( anchor, analyticsFileEntryVersion ); if (fileEntryId) { Analytics.send(documentDownloaded, Document, { groupId: themeDisplay.getScopeGroupId(), fileEntryId, preview: !!window._com_liferay_document_library_analytics_isViewFileEntry, title, version, }); } } function handleDownloadClick(event) { if (window.Analytics) { if (event.target.nodeName.toLowerCase() a) { sendDocumentDownloadedAnalyticsEvent( event.target ); } else if ( event.target.parentNode && event.target.parentNode.nodeName.toLowerCase() a ) { sendDocumentDownloadedAnalyticsEvent( event.target.parentNode ); } else { var target event.target; var matchTextContent target.textContent && target.textContent.toLowerCase() download; var matchTitle target.title && target.title.toLowerCase() download; var matchAction target.action download; var matchLexiconIcon !!target.querySelector( .lexicon-icon-download ); var matchLexiconClassName target.classList.contains( lexicon-icon-download ); var matchParentTitle target.parentNode && target.parentNode.title && target.parentNode.title.toLowerCase() download; var matchParentLexiconClassName target.parentNode && target.parentNode.classList.contains(lexicon-icon-download); if ( matchTextContent || matchTitle || matchParentTitle || matchAction || matchLexiconIcon || matchLexiconClassName || matchParentLexiconClassName ) { var selectedFiles document.querySelectorAll( .form .custom-control-input:checked ); selectedFiles.forEach(({value}) > { var selectedFile document.querySelector( data-analytics-file-entry-id + value + ); sendDocumentDownloadedAnalyticsEvent( selectedFile ); }); } } } } Liferay.once(destroyPortlet, () > { document.body.removeEventListener( click, handleDownloadClick ); }); Liferay.once(portletReady, () > { document.body.addEventListener( click, handleDownloadClick ); });(function() {var $ AUI.$;var _ AUI._; var onVote function (event) { if (window.Analytics) { let title event.contentTitle; if (!title) { const dmNode document.querySelector( data-analytics-file-entry-id + event.classPK + ); if (dmNode) { title dmNode.dataset.analyticsFileEntryTitle; } } Analytics.send(VOTE, Ratings, { className: event.className, classPK: event.classPK, ratingType: event.ratingType, score: event.score, title, }); } }; var onDestroyPortlet function () { Liferay.detach(ratings:vote, onVote); Liferay.detach(destroyPortlet, onDestroyPortlet); }; Liferay.on(ratings:vote, onVote); Liferay.on(destroyPortlet, onDestroyPortlet);})();(function() {var $ AUI.$;var _ AUI._; var onShare function (data) { if (window.Analytics) { Analytics.send(shared, SocialBookmarks, { className: data.className, classPK: data.classPK, type: data.type, url: data.url, }); } }; var onDestroyPortlet function () { Liferay.detach(socialBookmarks:share, onShare); Liferay.detach(destroyPortlet, onDestroyPortlet); }; Liferay.on(socialBookmarks:share, onShare); Liferay.on(destroyPortlet, onDestroyPortlet);})(); if (window.svg4everybody && Liferay.Data.ICONS_INLINE_SVG) { svg4everybody( { polyfill: true, validate: function (src, svg, use) { return !src || !src.startsWith(#); } } ); }(function() {var $ AUI.$;var _ AUI._; Liferay.Util.delegate( document, focusin, .portlet, function(event) { event.delegateTarget.closest(.portlet).classList.add(open); } ); Liferay.Util.delegate( document, focusout, .portlet, function(event) { event.delegateTarget.closest(.portlet).classList.remove(open); } );})(); // !CDATA Liferay.currentURL \x2f; Liferay.currentURLEncoded \x252F; // > // !CDATA (function() { /* Common Core Code This js is to be placed in site level 11/28/24 v1.00 12/12/2024 v1.01 update function extractPrice(priceStr) add function getRoleBeginWith(rstr) 1/2/2025 v1.02 Pick first available web content if no matching language web content getArticleX(articleName) Add consoleMessageList for checking duplicated error msg. 1/8/2025 v1.03 Add isRoleTypeExisted(roletype) Add jumpToSection(sectionId) 2/19/2025 v1.04 Add g_market Add getMarket() 6/14/2025 v1.05 Add displayAddToCartNotification(options) 10/4/2025 v1.06 Add loadScript() 10/7/2025 v1.07 Add localDateWithCurrentTimeToUTCISOString(localDateStr) 10/13/2025 V1.08 change to declare functions and global variables using window object. */// this g_locale is in en-US format, for Rhythm. window.g_locale null;window.g_curUser null;window.g_lang null;window.g_configuration null;window.g_consoleMessageList new Array();window.g_market null;// g_addSpace is to control whether adding space before and after the separator // in appendKeyText() and stripKeyText() function// ex. | or |window.g_addSpace true;window.g_customTranslation null;/* This spinner is small size. */window.g_smallspinner div classcontent smallspin> + div classloading-indicator aria-livepolite rolestatus styleheight: 15px> + div classanimation-container styleheight:20px; display:contents> + div classkey styleheight: 8px; transform: rotate(0) translateY(-4px)>/div> + div classkey styleheight: 8px; transform: rotate(30deg) translateY(-4px)>/div> + div classkey styleheight: 8px; transform: rotate(60deg) translateY(-4px)>/div> + div classkey styleheight: 8px; transform: rotate(90deg) translateY(-4px)>/div> + div classkey styleheight: 8px; transform: rotate(120deg) translateY(-4px)>/div> + div classkey styleheight: 8px; transform: rotate(150deg) translateY(-4px)>/div> + div classkey styleheight: 8px; transform: rotate(180deg) translateY(-4px)>/div> + div classkey styleheight: 8px; transform: rotate(210deg) translateY(-4px)>/div> + div classkey styleheight: 8px; transform: rotate(240deg) translateY(-4px)>/div> + div classkey styleheight: 8px; transform: rotate(270deg) translateY(-4px)>/div> + div classkey styleheight: 8px; transform: rotate(300deg) translateY(-4px)>/div> + div classkey styleheight: 8px; transform: rotate(330deg) translateY(-4px)>/div> + /div> + /div> + /div>;/* This spinner is regular size */window.g_spinner div classcontent spin> + div classloading-indicator aria-livepolite rolestatus> + div classanimation-container> + div classkey>/div> + div classkey>/div> + div classkey>/div> + div classkey>/div> + div classkey>/div> + div classkey>/div> + div classkey>/div> + div classkey>/div> + div classkey>/div> + div classkey>/div> + div classkey>/div> + div classkey>/div> + /div> + /div> + /div>;// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// --------------------------------------------------------------------------------// Get generic and user infowindow.getGenericInfo function () { let timeoutvar4getGenericInfo; if (typeof currentLocale ! undefined && currentLocale ! null) { g_locale currentLocale.replace(_, -); let parts g_locale.split(-); // The language part is at index 0 g_lang parts0; // getConfiguration() getConfiguration(); console_log(g_locale: + g_locale, *info); console_log(g_lang: + g_lang, *info); } else { timeoutvar4getGenericInfo setTimeout(getGenericInfo, 100); }}//--------------------------------------------------------------// Get GLOBAL custom configuration - such as debug mode...window.getConfiguration function () { g_configuration getArticle2(CONFIGURATION); //console.log(`getConfiguration()- ${getConfigurationByKey(debug_mode)}`); //console.log(`getConfiguration()- step 1`); console_log(`getConfiguration()- Debug Mode: ${getConfigurationByKey(debug_mode)}`, *info);}//--------------------------------------------------------------// Get configuration by keywindow.getConfigurationByKey function (xkey) { let result null; try { result getLocaleContentByKey2(g_configuration, xkey).trim(); } catch (ex) { } return result;}//--------------------------------------------------------------// Get current user infowindow.getcurUserInfo function () { let timeoutvar4getcurUserInfo; if (g_curUser null) { $.ajax({ type: GET, url: /delegate/ecom-api/users/current, success: function (data, status) { let myJSON JSON.stringify(data); //console.log(Get Current User Info -> \n + myJSON); g_curUser data; console_log(g_curUser info.. -> + g_curUser.firstName + + g_curUser.lastName + , Cust: + g_curUser.activeUserGroup.customerNumber, *info); }, error: function (jqXHR, status, err) { console_log(Get current user info Failed, *debug); } }); // end rhythm enpoint call } else { timeoutvar4getcurUserInfo setTimeout(getcurUserInfo, 100); }}//--------------------------------------------------------------// Get market for current userwindow.getMarket function () { let timeoutvar4getMarket; if (g_market null) { $.ajax({ type: GET, url: /delegate/ecom-api/markets/current, success: function (data, status) { let myJSON JSON.stringify(data); g_market data; console_log(`g_market -> market key: ${g_market.key}`, *info); }, error: function (jqXHR, status, err) { console_log(Get market info Failed, *debug); } }); // end rhythm enpoint call } else { timeoutvar4getMarket setTimeout(getMarket, 100); }}//--------------------------------------------------------------// Get GLOBAL custom translation - web content title must be TRANSLATE_CUSTOMwindow.getCustomTranslation function () { //getArticle(TRANSLATE_CUSTOM, global); g_customTranslation getArticle2(TRANSLATE_CUSTOM);}//--------------------------------------------------------------// Call Liferay API to get translations article. This one has no need to pass variable.window.getArticle2 function (articleName) { // - - - - - - - - - - - - - - - - - - - - - - - // Call Liferay API to get web content for translation override let groupId Liferay.ThemeDisplay.getScopeGroupId(); let articleTitle articleName; let returnContent null; $.ajax({ type: GET, url: /delegate/ecom-api/webcontent?articleId + articleTitle + &groupId + groupId, async: false, success: function (data, status) { let myJSON JSON.stringify(data); //console.log(Using Rhythm endpoint -> web content type of data: + (typeof data)); let jsonObj null; try { jsonObj JSON.parse(data); } catch (error) { jsonObj data; } //console.log(Using Rhythm endpoint -> Translation data.content for + gvar + :\n + jsonObj.content); console_log(`getArticle2 -> Web Content (${articleName}) is loaded....`, *info); returnContent jsonObj.content; }, error: function (jqXHR, status, err) { console_log(Get web content + articleTitle + not found / + status, *info); return null; } }); // end rhythm enpoint call //console.log(getArticle2() -> going to exit inside ajax); //console.log(returnContent:\n + returnContent); return returnContent;}//--------------------------------------------------------------// Call Liferay API to get translations article. This one has no need to pass variable.// Also, this one is intended to use by retrieving the whole web content and use it right a way.// It is not for something like translaton> and trans> ....window.getArticleX function (articleName) { // - - - - - - - - - - - - - - - - - - - - - - - // Call Liferay API to get web content for translation override let groupId Liferay.ThemeDisplay.getScopeGroupId(); let articleTitle articleName; let cdata null; $.ajax({ type: GET, url: /delegate/ecom-api/webcontent?articleId + articleTitle + &groupId + groupId, async: false, success: function (data, status) { let jsonObj null; try { jsonObj JSON.parse(data); } catch (error) { jsonObj data; } //console.log(Using Rhythm endpoint -> Translation data.content for + gvar + :\n + jsonObj.content); console_log(`getArticleX -> Web Content (${articleName}) is loaded....`, *info); //console.log(Using Rhythm endpoint -> web content type of data: + (typeof data)); //console.log(getArticleX()->response data is plain text->data-> \n + data); let returnContent jsonObj.content; //console.log(getArticleX()->returnContent in XML content-> \n + returnContent); // Extract source of web content response data. if (returnContent ! null) { // remove !CDATA and > returnContent returnContent.replace(!CDATA, ); returnContent returnContent.replace(>, ); //console.log(getArticleX()->after removing !CDATA->returnContent:\n + returnContent); let xmlobj new window.DOMParser().parseFromString(returnContent, text/html); let lc Liferay.ThemeDisplay.getLanguageId(); let transhtml $(xmlobj).find(language-id + lc + ).html(); // 1/2/2025 // if web content is not translated to current used language // or user change language in URL // then Rhythm API for web content will return content with other language. // Just pick the first returned web content. if (transhtml null) { transhtml $(xmlobj).find(dynamic-content).eq(0).html(); let dclang $(xmlobj).find(dynamic-content).eq(0).attr(language-id); let str `!! getArticleX(${articleTitle})- web content with language ${lc} not found. Just pick the first returned web content with language ${dclang}.`; if (g_consoleMessageList.includes(str) false) { g_consoleMessageList.push(str); console.log(str); } } cdata transhtml; if (cdata null) { console_log(`getArticleX()->final cdata (cdata is undefined, means no data in web content for this language)->lang->${lc}`, *info); } else { //console.log(`getArticleX()->final cdata->lang->${lc}:\n${cdata}`); } } }, error: function (jqXHR, status, err) { console.log(getArticleX()->Get web content + articleTitle + not found / + status); return null; } }); // end rhythm enpoint call return cdata;}//--------------------------------------------------------------// Get locale string content from webarticle XML by keywordwindow.getLocaleContentByKey function (xkey) { return getLocaleContentByKey2(g_customTranslation, xkey);}//--------------------------------------------------------------// Get locale string content from webarticle XML by keyword// example of transhtml/* !CDATAtranslaton idTranslate_ATP_DELDATE> trans idatp> oletettu toimituspäivä /trans> trans iditem> kohde /trans> /translaton>>*/window.getLocaleContentByKey2 function (xmlstr, xkey) { //console.log(getLocaleContentByKey2()-- get content: \nxkey: + xkey + -->\n xmlstr:\n + xmlstr); if (xmlstr null || xkey null) return ; let xmlobj new window.DOMParser().parseFromString(xmlstr, text/html); let lc Liferay.ThemeDisplay.getLanguageId(); let transhtml $(xmlobj).find(language-id + lc + ).html(); //console.log(getLocaleContentByKey2()->language-id: + lc + ->transhtml->\n + transhtml); // if web content is not translated to current used language // or user change language in URL // then Rhythm API for web content will return content with other language. // Just pick the first returned web content. if (transhtml null) { transhtml $(xmlobj).find(dynamic-content).eq(0).html(); let dclang $(xmlobj).find(dynamic-content).eq(0).attr(language-id); let str `!! getLocaleContentByKey2(xkey${xkey})- web content with language ${lc} not found. Just pick the first returned web content with language ${dclang}.`; if (g_consoleMessageList.includes(str) false) { g_consoleMessageList.push(str); console.log(str); } } // remove !CDATA and > let xstart transhtml.indexOf(CDATA); let xend transhtml.indexOf(); //console.log(-- get content -> start: + xstart + , end: + xend); let cdata transhtml.substring(xstart + 7, xend); let xmlobj2 new window.DOMParser().parseFromString(cdata, text/html); let kstr # + xkey; let cxml $(xmlobj2).find(kstr).html(); //console.log(-- get content: cxml before regex:\n + cxml); if (cxml null) { console.log(`Customer Translation Content Key (${xkey}) not found.`); } // remove \t and \n from the json string. cxml cxml.replace(/(\r\n|\n|\r|\t)/gm, ); //console.log(-- get content: cxml: + cxml); return cxml;}// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// --------------------------------------------------------------------------------// insert str1 (source string) to str2 (target string)// remove duplicates, and adding separator// and return new stringwindow.appendKeyText function (st1, st2, sep1, sep2) { // ex. // st1 - abc // st2 - xyz // return xyz | abc // if st2 is xyz | abc | abc | abc | abc // then return xyz | abc if (st1 null || st2 null) { return ; } let tary st2.split(sep1); if (tary.length 0) { return st1; } // find if st1 already in st2, remove it first let fstr stripKeyText(st1, st2, sep1, sep2); let space ; if (g_addSpace) space ; // then append st1 if (fstr ! ) { fstr + space + sep1 + space; } fstr + st1; return fstr;}//--------------------------------------------------// Get key from text stringwindow.getKeyFromText function (st, sep) { if (st null) return ; if (sep null) return st.trim(); let tary st.split(sep); if (tary.length 1) return st.trim(); if (tary.length > 1) return tary0.trim();};//--------------------------------------------------// check if st1 exists in st2window.keyTextExist function (st1, st2, sep1, sep2) { if (st1 null || st2 null) { return false; } let key getKeyFromText(st1, sep2); let tary st2.split(sep1); if (tary.length 0) { return false; } for (let i 0; i tary.length; i++) { let s taryi.trim(); if (sep2 ! null) { let tary2 s.split(sep2); if (tary2.length > 0) { for (let j 0; j tary2.length; j++) { let s2 tary2j.trim(); if (s2 key) return true; } } } else { if (s key) return true; } } return false;}//--------------------------------------------------// strip st1 from st2window.stripKeyText function (st1, st2, sep1, sep2) { if (st1 null || st2 null) { return ; } let tary st2.split(sep1); if (tary.length 0) { return ; } let fstr ; let c 0; let space ; if (g_addSpace) space ; // find if st1 (key) already in st2, remove it for (let i 0; i tary.length; i++) { let s taryi.trim(); if (!keyTextExist(st1, s, sep1, sep2)) { if (c > 0) fstr + space + sep1 + space; fstr + s; c++; } } return fstr;}//--------------------------------------------------// get text from st2 by keywindow.getTextFromKey function (key, st2, sep1, sep2) { if (key null || st2 null) { return ; } let tary st2.split(sep1); if (tary.length 0) { return ; } for (let i 0; i tary.length; i++) { let s taryi.trim(); if (keyTextExist(key, s, sep1, sep2)) { let tary2 s.split(sep2); if (tary2.length > 1) { return tary21; break; } } } return ;}// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// --------------------------------------------------------------------------------// check if the role existe for sellable item checkingwindow.isRoleExisted function (role) { if (g_curUser null) return null; for (let i 0; i g_curUser.roles.length; i++) { //console.log(`g_curUser.rolesi.name: ${g_curUser.rolesi.name}`); if (role g_curUser.rolesi.name) { return true; } } return false;}// --------------------------------------------------// check if the role starts with somethingwindow.getRoleBeginWith function (rstr) { if (g_curUser null) return null; for (let i 0; i g_curUser.roles.length; i++) { //console.log(`g_curUser.rolesi.name: ${g_curUser.rolesi.name}`); if (g_curUser.rolesi.name.startsWith(rstr)) { return g_curUser.rolesi.name.trim(); } } return null;}// --------------------------------------------------// check if the role type existswindow.isRoleTypeExisted function (roletype) { if (g_curUser null) return null; for (let i 0; i g_curUser.roles.length; i++) { //console.log(`g_curUser.rolesi.type: ${g_curUser.rolesi.type}`); if (roletype g_curUser.rolesi.type) { return true; } } return false;}// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// --------------------------------------------------------------------------------// Convert date to short date by localewindow.convt2ShortDateLocale function (datestr) { let dateobj new Date(Date.parse(datestr)); const options { year: numeric, month: 2-digit, day: 2-digit }; return dateobj.toLocaleDateString(g_locale, options);}//--------------------------------------------------------------// Convert date to short date by locale with input date in UTC and output in UTCwindow.convt2ShortDateLocaleUTC function (datestr) { let dateobj new Date(Date.parse(datestr)); const options { year: numeric, month: 2-digit, day: 2-digit, timeZone: UTC }; return dateobj.toLocaleDateString(g_locale, options);}//--------------------------------------------------------------// find the days difference between input date and today.// Please note that this function assumes a standard Monday-to-Friday work week.// Input date in ISO 8601 format. Example 2023-08-09T00:00:00.000Zwindow.getDaysDiff function (indate) { if (indate null) return -1; if (indate.trim() ) return -1; // Input date in ISO 8601 format const inputDate new Date(indate); // Get the current date const currentDate new Date(); // Get the current date without the time (set to 00:00:00.000) // Get the year, month, and day components const year currentDate.getFullYear(); const month String(currentDate.getMonth() + 1).padStart(2, 0); const day String(currentDate.getDate()).padStart(2, 0); // Format the date as a string in YYYY-MM-DD format const currentDate2 new Date(`${year}-${month}-${day}T00:00:00.000Z`); //console.log(`current date: ${currentDate2}`); // Function to check if a given date is a weekend (Saturday or Sunday) function isWeekend(date) { const day date.getDay(); return day 0 || day 6; } // Calculate the difference in days between the input date and the current date //console.log(`inputDate - currentDate2: ${inputDate - currentDate2}`); const daysDifference Math.floor((inputDate - currentDate2) / (1000 * 60 * 60 * 24)); //console.log(`daysDifference: ${daysDifference}`); // Calculate the difference in business days (excluding weekends) let businessDaysDifference 0; for (let i 0; i Math.abs(daysDifference); i++) { if (daysDifference > 0) { currentDate.setDate(currentDate.getDate() + 1); } else { currentDate.setDate(currentDate.getDate() - 1); } if (!isWeekend(currentDate)) { businessDaysDifference++; } } //console.log(`getDaysDiff()->Difference in business days: ${businessDaysDifference}`); return businessDaysDifference;}//--------------------------------------------------------------// Get todays date in yyyy-mm-ddwindow.getTodayInyyyymmdd function () { // Get the current date const today new Date(); const year today.getFullYear(); const month String(today.getMonth() + 1).padStart(2, 0); // Month is 0-based, so add 1 const day String(today.getDate()).padStart(2, 0); const formattedDate `${year}-${month}-${day}`; return formattedDate;}//--------------------------------------------------------------// Get todays date in ISO 8601 format. Example 2023-08-09T00:00:00.000Zwindow.getTodayIniso8601 function () { // Get the current date const today new Date(); const year today.getFullYear(); const month String(today.getMonth() + 1).padStart(2, 0); // Month is 0-based, so add 1 const day String(today.getDate()).padStart(2, 0); const formattedDate `${year}-${month}-${day}T00:00:00.000Z`; return formattedDate;}//--------------------------------------------------------------// Get yyyy-mm-dd from ISO 8601 format. Example 2023-08-09T00:00:00.000Z -> 2023-08-09window.getDateFromiso8601Toyyyymmdd function (dstr) { let tc dstr.split(T); if (tc.length 2) { return tc0.trim(); } else return ;}//--------------------------------------------------------------// Convert yyyy-mm-dd only and convert to true UTC ISO date string with local time.// ex. Now is 10/7/2025 9:25pm (LA time), // Pass string localDateWithCurrentTimeToUTCISOString(2025-10-07)// return 2025-10-08T04:25:15.865Zwindow.localDateWithCurrentTimeToUTCISOString function (localDateStr) { const now new Date(); // current local time const year, month, day localDateStr.split(-).map(Number); // Create a Date object using the provided date, but keep current local time const localDateTime new Date( year, month - 1, day, now.getHours(), now.getMinutes(), now.getSeconds(), now.getMilliseconds() ); // Convert to UTC ISO string return localDateTime.toISOString();}// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//---------------------------------------------------------------------------------// Smooth scroll to specific section of the page.// input is elemnt IDwindow.jumpToSection function (sectionId) { $(# + sectionId)0.scrollIntoView({ behavior: smooth });}// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// --------------------------------------------------------------------------------// extract and convert text to number with Localewindow.convertNbrLocale function (txt, locale) { //console.log(--- original: + txt + , + locale); let ntxt ; for (let i 0; i txt.length; i++) { let c txt.substring(i, i + 1); if ((c > 0 && c 9) || c . || c ,) { ntxt + c; } } //console.log(ntxt: + ntxt); const { format } new Intl.NumberFormat(locale); const , decimalSign /^0(.)1$/.exec(format(0.1)); return +ntxt.replace(new RegExp(`^${decimalSign}\\d`, g), ).replace(decimalSign, .);}//--------------------------------------------------------------// extract numeric price from price string// console.log(extractPrice(GBP72.25)); // Output: 72.25// console.log(extractPrice($72.25)); // Output: 72.25// console.log(extractPrice(CAD0.00)); // Output: 0.00// console.log(extractPrice(€100,000.50)); // Output: 100000.50// console.log(extractPrice(JPY1000)); // Output: 1000// 10/20/2024 handle -ve valuewindow.extractPrice function (priceStr) { // Regular expression to match numeric values //let match priceStr.match(/\d,+(\.\d{1,2})?/); let match priceStr.match(/-?\d,+(\.\d{1,2})?/); // handle -ve value if (match) { // Convert the matched string to a number return parseFloat(match0.replace(/,/g, )); } // If no match is found, return null (not a number) return null;}//---------------------------------------------------------// Notification function, clone from EcomUtilswindow.displayAddToCartNotification function (options) { const { type, itemName, quantity, message, bulk, multiple } options; const notification `div> div classrhy notify> div classnotification add-to-cart ${type} aria-atomictrue rolealert aria-liveassertive> ${type success ? `svg classicon confirmed active focusablefalse rolepresentation> use xlink:href#confirmed>/use> /svg>` : `svg classicon alert active focusablefalse rolepresentation> use xlink:href#alert>/use> /svg>` } ${type error || bulk || multiple ? `span classcontent>${message}/span>` : `div classcontent> span classitem-id>${itemName}/span> span classquantity>${quantity} Qty/span> /div>` } /div> /div> /div>`; $.notify.addStyle(ecom-add-to-cart-notification, { html: notification, }); $.notify(placeholder, { style: ecom-add-to-cart-notification, position: top right, showAnimation: slideDown, showDuration: 100, hideAnimation: slideUp, hideDuration: 200, autoHideDelay: 3000, className: type, autoHide: true, clickToHide: false, }); $(.notify .notification.add-to-cart).parents(.notifyjs-wrapper).addClass(add-to-cart); $(.notifyjs-corner > .notifyjs-wrapper.add-to-cart).offset({ top: getMenuTopOffset() }); $(.notifyjs-corner > .notifyjs-wrapper.add-to-cart).css(margin-right, `${getMenuRightOffset()}px`);}// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// --------------------------------------------------------------------------------// output to console// controlled by debug_mode// debug_mode_in passed in the console_log call parameter can be *info, *debug// debug_mode in configuration web content can be *info, *all, *nonewindow.console_log function (str, debug_mode_in) { let debugmode null; debugmode getConfigurationByKey(debug_mode); //console.log(`console_log()- debugmode:${debugmode}`); if (debugmode debug_mode_in || debugmode *all || debugmode ) { console.log(`${debug_mode_in.toUpperCase()} - ${str}`); }}// --------------------------------------------------------------------------------// Generic function to insert external scripts// Example:// loadScript(https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js, function () {// });window.loadScript function (src, callback) { var s document.createElement(script); s.src src; s.async false; // ensure order s.onload callback; document.head.appendChild(s);}// *~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*// Initialization$(document).ready(function () { getGenericInfo(); getcurUserInfo(); getCustomTranslation(); getMarket();});// *~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*/* *//* *//* ------ END OF Common Core Code/* *//* */// // // Get cart data and some class def. for different page to use// Date: 5/30/24// // window.g_cartdata null;//--------------------------------------------------// get cart data using Rhythm endpoint and assign to gloval var. g_cartdata// this api call is sync call...window.getCartDataAsGlobal function () { //- - - - - - - - - - - - - - - - - - - - - - $.ajax({ type: GET, url: /delegate/ecom-api/orders/current/shipping, async: false, success: function (data, status) { let myJSON JSON.stringify(data); //console.log(Get cart content Success); g_cartdata data; }, error: function (jqXHR, status, err) { console_log(Get cart content Failed, *info); } });}//--------------------------------------------------// get order line obj from g_cartdatawindow.getLineFromCartData function (lineid) { for (let i 0; i g_cartdata.orderLines.length; i++) { if (g_cartdata.orderLinesi.id lineid) { return g_cartdata.orderLinesi; } } return null;}// --------------------------------------------------------------------// convert yyyymmdd to yyyy-mm-ddwindow.addDashToYYYYMMDD function (dateString) { const match dateString.match(/^(\d{4})(\d{2})(\d{2})$/); if (!match) { throw new Error(Invalid date format. Expected format is YYYYMMDD.); } const _, year, month, day match; return `${year}-${month}-${day}`;}// --------------------------------------------------------------------// convert from ISO 8601 to local format per localewindow.cvtISODateToLocale function (isodate, locale) { if (isodate null) return ; let datepart isodate.split(T)0; let yyyy datepart.split(-)0; let mm datepart.split(-)1; let dd datepart.split(-)2; let format getDateFormat(locale); let formatteddate format.replace(yyyy, yyyy); formatteddate formatteddate.replace(mm, mm); formatteddate formatteddate.replace(dd, dd); console_log(`cvtISODateToLocale()->${locale}->iso date:${isodate}->formattedDate:${formatteddate}`, *debug); return formatteddate;}// --------------------------------------------------------------------// convert from local format per locale to ISO 8601window.cvtLocaleToISODate function (localedate, locale) { const INVALID_DATE INVALID_DATE; let df getDateFormat(locale); //console.log(`cvtLocaleToISODate()->date->${localedate}->${locale}->date format->${df}`); // split date format into arry let dfary df.split(/-.//); // split input date and get the index for day/month/year try { const dateComponents localedate.split(/-.//); const dayIndex getDateIndex(dfary); const monthIndex getMonthIndex(dfary); const yearIndex getYearIndex(dfary); //console.log(`cvtLocaleToISODate()->dayIndex->${dayIndex}->monthIndex->${monthIndex}->yearIndex->${yearIndex}`); // re-format the input date again const day parseInt(dateComponentsdayIndex, 10); const month parseInt(dateComponentsmonthIndex, 10) - 1; // Months are zero-indexed const year parseInt(dateComponentsyearIndex, 10); //console.log(`cvtLocaleToISODate()->day->${day}->month->${month}->year->${year}`); // if not a number, then return not a valid date. const date new Date(year, month, day); if (isNaN(date)) { //console.log(`cvtLocaleToISODate()->${dateString} is invalid date`); return INVALID_DATE; } // somehow in Germany, the isoDate is one day earlier.... so use other way to convert to isodate. //const isoDate date.toISOString().replace(/T.*/, T00:00:00.000Z); let isoDate ; isoDate + year; let isom month + 1; let isoms integerToStringWithLeadingZero(isom); isoDate + - + isoms; let isods integerToStringWithLeadingZero(day); isoDate + - + isods + T00:00:00.000Z; //console.log(`cvtLocaleToISODate()->isoDate->${isoDate}`); return isoDate; } catch (error) { console_log(`cvtLocaleToISODate()->error->${error.message}`, *info); console_log(`cvtLocaleToISODate()->error->${error.stack}`, *info); return INVALID_DATE; }}// -----------------------------------------------------------------------------------window.getDateFormat function (locale) { const date new Date(2023, 7, 20); // August 10, 2023 -> javascript month is actual month -1 const options { year: numeric, month: 2-digit, day: 2-digit }; const formattedDate new Intl.DateTimeFormat(locale, options).formatToParts(date); let dateFormat ; for (const part of formattedDate) { if (part.type month) { dateFormat + mm; } else if (part.type day) { dateFormat + dd; } else if (part.type year) { dateFormat + yyyy; } else { dateFormat + part.value; } } return dateFormat;}// --------------------------------------------------------------------// convert integer to string and prefix 0.window.integerToStringWithLeadingZero function (number) { if (number 10) { return 0 + number.toString(); } else { return number.toString(); }}// -----------------------------------------------------------------------------------window.getDateIndex function (dfary) { for (let i 0; i dfary.length; i++) { if (dfaryi dd) return i; } return -1;}// -----------------------------------------------------------------------------------window.getMonthIndex function (dfary) { for (let i 0; i dfary.length; i++) { if (dfaryi mm) return i; } return -1;}// -----------------------------------------------------------------------------------window.getYearIndex function (dfary) { for (let i 0; i dfary.length; i++) { if (dfaryi yyyy) return i; } return -1;}// *~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*// Page Initialization$(document).ready(function () { // get cart data using Rhythm endpoint and assign to gloval var. getCartDataAsGlobal();});// // // END OF Get cart data for different page to use// // // When the user scrolls the page, execute myFunctionwindow.onscroll function () { myFunction() };// Get the headerwindow.header document.getElementById(header);// Get the offset position of the navbarwindow.sticky null;if (header ! null) { sticky header.offsetTop;}// Add the sticky class to the header when you reach its scroll position. Remove sticky when you leave the scroll positionwindow.myFunction function () { if (header ! null && sticky ! null) { if (window.pageYOffset > sticky) { header.classList.add(sticky); } else { header.classList.remove(sticky); } }} })(); // > (function() {var $ AUI.$;var _ AUI._; import(Liferay.ThemeDisplay.getPathContext() + /o/frontend-js-web/__liferay__/index.js).then( ({openToast}) > { AUI().use( liferay-session, function () { Liferay.Session new Liferay.SessionBase( { autoExtend: true, redirectOnExpire: true, redirectUrl: https\x3a\x2f\x2fwww\x2ejascopro\x2ecom\x2fhome, sessionLength: 57600, sessionTimeoutOffset: 300, warningLength: 300 } ); } ); } ) })(); Liferay.Portlet.register(rhythmfootercontentportlet_WAR_rhythmfootercontentportlet); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: end, namespacedId: p_p_id_rhythmfootercontentportlet_WAR_rhythmfootercontentportlet_, portletId: rhythmfootercontentportlet_WAR_rhythmfootercontentportlet, refreshURL: \x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d3944590\x26p_p_id\x3drhythmfootercontentportlet_WAR_rhythmfootercontentportlet\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252F, refreshURLData: {} } ); Liferay.Portlet.register(rhythmecommarketselectorportlet_WAR_rhythmecommarketselectorportlet); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: end, namespacedId: p_p_id_rhythmecommarketselectorportlet_WAR_rhythmecommarketselectorportlet_, portletId: rhythmecommarketselectorportlet_WAR_rhythmecommarketselectorportlet, refreshURL: \x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d3944590\x26p_p_id\x3drhythmecommarketselectorportlet_WAR_rhythmecommarketselectorportlet\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252F, refreshURLData: {} } ); Liferay.Portlet.register(rhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_INSTANCE_1234); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: end, namespacedId: p_p_id_rhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_INSTANCE_1234_, portletId: rhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_INSTANCE_1234, refreshURL: \x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d3944590\x26p_p_id\x3drhythmloginmultiinstancesportlet_WAR_rhythmloginmultiinstancesportlet_INSTANCE_1234\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252F, refreshURLData: {} } ); Liferay.Portlet.register(rhythmecomblanketagreementjobspecificportlet_WAR_rhythmecomblanketagreementjobspecificportlet); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: end, namespacedId: p_p_id_rhythmecomblanketagreementjobspecificportlet_WAR_rhythmecomblanketagreementjobspecificportlet_, portletId: rhythmecomblanketagreementjobspecificportlet_WAR_rhythmecomblanketagreementjobspecificportlet, refreshURL: \x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d3944590\x26p_p_id\x3drhythmecomblanketagreementjobspecificportlet_WAR_rhythmecomblanketagreementjobspecificportlet\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252F, refreshURLData: {} } ); Liferay.Portlet.register(rhythmecomminicartportlet_WAR_rhythmecomminicartportlet); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: end, namespacedId: p_p_id_rhythmecomminicartportlet_WAR_rhythmecomminicartportlet_, portletId: rhythmecomminicartportlet_WAR_rhythmecomminicartportlet, refreshURL: \x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d3944590\x26p_p_id\x3drhythmecomminicartportlet_WAR_rhythmecomminicartportlet\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252F, refreshURLData: {} } ); Liferay.Portlet.register(rhythmmarketcontactinfoportlet_WAR_rhythmmarketcontactinfoportlet); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: end, namespacedId: p_p_id_rhythmmarketcontactinfoportlet_WAR_rhythmmarketcontactinfoportlet_, portletId: rhythmmarketcontactinfoportlet_WAR_rhythmmarketcontactinfoportlet, refreshURL: \x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d3944590\x26p_p_id\x3drhythmmarketcontactinfoportlet_WAR_rhythmmarketcontactinfoportlet\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252F, refreshURLData: {} } ); Liferay.Portlet.register(rhythmsocialmediaportlet_WAR_rhythmsocialmediaportlet_INSTANCE_mainfooterinstanceid); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: end, namespacedId: p_p_id_rhythmsocialmediaportlet_WAR_rhythmsocialmediaportlet_INSTANCE_mainfooterinstanceid_, portletId: rhythmsocialmediaportlet_WAR_rhythmsocialmediaportlet_INSTANCE_mainfooterinstanceid, refreshURL: \x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d3944590\x26p_p_id\x3drhythmsocialmediaportlet_WAR_rhythmsocialmediaportlet_INSTANCE_mainfooterinstanceid\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252F, refreshURLData: {} } ); Liferay.Portlet.register(rhythmdynamicmenufooterportlet_WAR_rhythmdynamicmenuportlet); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: end, namespacedId: p_p_id_rhythmdynamicmenufooterportlet_WAR_rhythmdynamicmenuportlet_, portletId: rhythmdynamicmenufooterportlet_WAR_rhythmdynamicmenuportlet, refreshURL: \x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d3944590\x26p_p_id\x3drhythmdynamicmenufooterportlet_WAR_rhythmdynamicmenuportlet\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252F, refreshURLData: {} } ); Liferay.Portlet.register(rhythmecomlanguageportlet_WAR_rhythmecomlanguageportlet); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: end, namespacedId: p_p_id_rhythmecomlanguageportlet_WAR_rhythmecomlanguageportlet_, portletId: rhythmecomlanguageportlet_WAR_rhythmecomlanguageportlet, refreshURL: \x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d3944590\x26p_p_id\x3drhythmecomlanguageportlet_WAR_rhythmecomlanguageportlet\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252F, refreshURLData: {} } ); Liferay.Portlet.register(rhythmecomdynamicsearchportlet_WAR_rhythmecomdynamicsearchportlet); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: end, namespacedId: p_p_id_rhythmecomdynamicsearchportlet_WAR_rhythmecomdynamicsearchportlet_, portletId: rhythmecomdynamicsearchportlet_WAR_rhythmecomdynamicsearchportlet, refreshURL: \x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d3944590\x26p_p_id\x3drhythmecomdynamicsearchportlet_WAR_rhythmecomdynamicsearchportlet\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252F, refreshURLData: {} } ); Liferay.Portlet.register(rhythmdynamicmenuheaderportlet_WAR_rhythmdynamicmenuportlet); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: end, namespacedId: p_p_id_rhythmdynamicmenuheaderportlet_WAR_rhythmdynamicmenuportlet_, portletId: rhythmdynamicmenuheaderportlet_WAR_rhythmdynamicmenuportlet, refreshURL: \x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d3944590\x26p_p_id\x3drhythmdynamicmenuheaderportlet_WAR_rhythmdynamicmenuportlet\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252F, refreshURLData: {} } );/script>script typemodule>import {InfoItemActionHandler as ComponentModule} from /o/layout-taglib/__liferay__/index.js;AUI().use( liferay-menu,function(A) {{Liferay.component(infoItemActionComponent, new ComponentModule({executeInfoItemActionURL:https:\/\/www.jascopro.com\/c\/portal\/execute_info_item_action?p_l_modeview&plid3944590,namespace:,spritemap:https:\/\/www.jascopro.com\/o\/rhythm-commerce-theme\/images\/clay\/icons.svg}), { destroyOnNavigate: true, portletId: });}(function() {var $ AUI.$;var _ AUI._; new Liferay.Menu(); var liferayNotices Liferay.Data.notices; for (var i 0; i liferayNotices.length; i++) { Liferay.Util.openToast(liferayNoticesi); }})();});/script>script srchttps://www.jascopro.com/o/rhythm-commerce-theme/js/main.js?browserIdother&minifierTypejs&languageIden_US&t1764834454000 typetext/javascript>/script>script typemodule>import {main} from /o/frontend-js-alert-support-web/__liferay__/index.js;{main();}/script>script typemodule>import {main} from /o/frontend-js-collapse-support-web/__liferay__/index.js;{main();}/script>script typemodule>import {main} from /o/frontend-js-dropdown-support-web/__liferay__/index.js;{main();}/script>script typemodule>import {main} from /o/frontend-js-tabs-support-web/__liferay__/index.js;{main();}/script>script typemodule>import {main} from /o/frontend-js-tooltip-support-web/__liferay__/index.js;{main();}/script>script typemodule>import {runThirdPartyCookiesInterval} from /o/cookies-banner-web/__liferay__/index.js;{runThirdPartyCookiesInterval();}/script>script typetext/javascript>Liferay.CustomDialogs {enabled: false};/script>script>/script>div aria-labelbanner cookies classcookies-banner cookies-banner-bottom roledialog> !--RHYM CHANGES START -->!--RHYM CHANGES END --> div classportlet-boundary portlet-boundary_com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet_ portlet-static portlet-static-end portlet-barebone portlet-cookies-banner idp_p_id_com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet_> span idp_com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet>/span> div classcontainer-fluid container-fluid-max-xl container-view> div classrow> div classautofit-row autofit-padded-no-gutters autofit-row-center autofit-float-sm-down px-2 px-md-0> div classautofit-col autofit-col-expand> p classmb-0> We use cookies to deliver personalized content, analyze trends, administer the site, track user movements on the site, and collect demographic information about our user base as a whole. Accept all cookies for the best possible experience on our website or manage your preferences. a class hrefwww.infor.com/about/privacy >/a> /p> /div> div classautofit-col> button classbtn btn-sm btn-link id_com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet_configurationButton typebutton >Configuration/button> /div> div classautofit-col> button classbtn btn-sm btn-secondary id_com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet_acceptAllButton typebutton >Accept All/button> /div> div classautofit-col> button classbtn btn-sm btn-secondary id_com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet_declineAllButton typebutton >Decline All/button> /div> /div> /div>/div>script typemodule>import {CookiesBanner as ComponentModule} from /o/cookies-banner-web/__liferay__/index.js;{Liferay.component(CookiesBanner, new ComponentModule({configurationURL:https:\/\/www.jascopro.com\/home?p_p_idcom_liferay_cookies_banner_web_portlet_CookiesBannerConfigurationPortlet&p_p_lifecycle0&p_p_statepop_up&p_p_modeview&_com_liferay_cookies_banner_web_portlet_CookiesBannerConfigurationPortlet_mvcPath%2Fcookies_banner_configuration%2Fview.jsp&p_p_authX6xMZJvc,optionalConsentCookieTypeNames:CONSENT_TYPE_FUNCTIONAL,CONSENT_TYPE_PERFORMANCE,CONSENT_TYPE_PERSONALIZATION,spritemap:https:\/\/www.jascopro.com\/o\/rhythm-commerce-theme\/images\/clay\/icons.svg,configurationNamespace:com_liferay_cookies_banner_web_portlet_CookiesBannerConfigurationPortlet,namespace:_com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet_,requiredConsentCookieTypeNames:CONSENT_TYPE_NECESSARY,includeDeclineAllButton:true,title:Cookie Configuration}), { destroyOnNavigate: true, portletId: com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet});}/script> /div>/div> !-- inject:js --> script> (function(){ // Runs the theme plugins for all web content articles that might contain script dependent components. $(.portlet-journal-content:not(.portlet-configuration)).rhythmThemeInit(); })(); /script> !-- endinject -->/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]