1 2 3<!DOCTYPE html> 4<html class="no-js"> 5<head> 6 <meta charset="utf-8"> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> 8 <meta name="google-site-verification" content="W0ObXaCnAndIgtIQSzIly8una1ZhcbyIh62AdPs8p70" /> 9 <meta name="description"> 10 11 12 <!--Open Graph Tags--> 13 <meta property="og:title" content="SPECIALTY PRODUCTS & COOKWARE" /> 14 <meta property="og:type" content="article" /> 15 <meta property="og:site_name" content="Goemans" /> 16 <meta property="og:description" /> 17 <meta property="og:image" content="https://goemans.com/media/pndpgkjt/goe-logo-white-with-tagline-with-canadiana.png" /> 18 <meta property="og:price:currency" content="CAD" /> 19 20 21 <title>SPECIALTY PRODUCTS & COOKWARE</title> 22<link rel="preload" as="font" type="font/woff2" crossorigin href="/html/goemans/build/font/lato-400-latin.woff2"> 23<link rel="preload" as="font" type="font/woff2" crossorigin href="/html/goemans/build/font/lato-700-latin.woff2"> 24<link rel="apple-touch-icon" sizes="180x180" href="/html/goemans/favicons/apple-touch-icon.png"> 25<link rel="icon" type="image/png" sizes="32x32" href="/html/goemans/favicons/favicon-32x32.png"> 26<link rel="icon" type="image/png" sizes="192x192" href="/html/goemans/favicons/android-chrome-192x192.png"> 27<link rel="icon" type="image/png" sizes="16x16" href="/html/goemans/favicons/favicon-16x16.png"> 28<link rel="manifest" href="/html/goemans/favicons/manifest.json"> 29<link rel="mask-icon" color="#002e57" href="/html/goemans/favicons/safari-pinned-tab.svg"> 30<link rel="shortcut icon" href="/html/goemans/favicons/favicon.ico"> 31<link rel="stylesheet" href="/css/auto-generated-fonts.css"> 32<meta name="msapplication-config" content="~/html/goemans/favicons/browserconfig.xml"> 33<meta name="msapplication-TileColor" content="#ffffff"> 34<meta name="msapplication-TileImage" content="~/html/goemans/favicons/mstile-144x144.png"> 35 36<meta name="theme-color" content="#ffffff"> 37 38 39 40<link href='/html/goemans/build/css/style-fbbebd7940.min.css' rel='stylesheet'> 41<!--[if lt IE 9]>
41<script src="/html/goemans/build/js/html5shiv-printshiv.min.js"></script>
41<![endif]--> 42 43<!-- Localization Tags--> 44<meta name="geo.placename" content="Mississauga" /> 45<meta name="geo.placename" content="Oakville" /> 46<meta name="geo.placename" content="Etobicoke" /> 47<meta name="geo.placename" content="Toronto" /> 48<meta name="geo.placename" content="Brampton" /> 49<meta name="geo.placename" content="Georgetown" /> 50<meta name="geo.placename" content="Halton Hills" /> 51<meta name="geo.placename" content="Milton" /> 52<meta name="geo.placename" content="Burlington" /> 53<meta name="geo.placename" content="Guelph" /> 54<meta name="geo.placename" content="Hamilton" /> 55<meta name="geo.placename" content="Stoney Creek" /> 56<meta name="geo.placename" content="Ancaster" /> 57<meta name="geo.placename" content="Dundas" /> 58<meta name="geo.placename" content="Cambridge" /> 59<meta name="geo.placename" content="Lincoln" /> 60<meta name="geo.placename" content="St. Catharines" /> 61<meta name="geo.placename" content="Niagara Falls" /> 62<meta name="geo.placename" content="Welland" /> 63<meta name="geo.placename" content="Brantford" /> 64<meta name="geo.placename" content="Kitchener" /> 65<meta name="geo.placename" content="Waterloo" /> 66<meta name="geo.placename" content="Stratford" /> 67<meta name="geo.placename" content="London" /> 68<meta name="geo.position" content="43.2262990000, -79.7562790000" /> 69<meta name="ICBM" content="43.2262990000;-79.7562790000" /> 70<meta name="geo.position" content="43.1690339000, -79.2098066000" /> 71<meta name="ICBM" content="43.1690339000;-79.2098066000" /> 72<meta name="geo.position" content="43.5162200000, -79.6904070000" /> 73<meta name="ICBM" content="43.5162200000;-79.6904070000" /> 74<meta name="geo.position" content="43.4042470000, -80.3859410000" /> 75<meta name="ICBM" content="43.4042470000;-80.3859410000" /> 76<meta name="geo.position" content="42.9372580000, -81.2609940000" /> 77<meta name="ICBM" content="42.9372580000;-81.2609940000" /> 78<meta name="geo.position" content="43.3450440000, -79.8197620000" /> 79<meta name="ICBM" content="43.3450440000;-79.8197620000" /> 80<meta name="geo.region" content="CA-ON" /> 81 82
82<script type="text/javascript">var appInsights = window.appInsights || function (a) { function b(a) { c[a] = function () { var b = arguments; c.queue.push(function () { c[a].apply(c, b) }) } } var c = { config: a }, d = document, e = window; setTimeout(function () { var b = d.createElement("script"); b.src = a.url || "https://az416426.vo.msecnd.net/scripts/a/ai.0.js", d.getElementsByTagName("script")[0].parentNode.appendChild(b) }); try { c.cookie = d.cookie } catch (a) { } c.queue = []; for (var f = ["Event", "Exception", "Metric", "PageView", "Trace", "Dependency"]; f.length;)b("track" + f.pop()); if (b("setAuthenticatedUserContext"), b("clearAuthenticatedUserContext"), b("startTrackEvent"), b("stopTrackEvent"), b("startTrackPage"), b("stopTrackPage"), b("flush"), !a.disableExceptionTracking) { f = "onerror", b("_" + f); var g = e[f]; e[f] = function (a, b, d, e, h) { var i = g && g(a, b, d, e, h); return !0 !== i && c["_" + f](a, b, d, e, h), i } } return c }({ instrumentationKey: "3b9ad54d-1fc0-4bc3-9341-a58b85c2f10e" }); window.appInsights = appInsights, appInsights.queue && 0 === appInsights.queue.length && appInsights.trackPageView();</script>
82 83 84 <!-- temp trick because styles in html folder isn't being updated at me --> 85 <style> 86 .header__nav-top-link._active { 87 opacity: 0.75; 88 } 89 90 .footer__newsletter-form .input-validation-error { 91 border: 1px solid red; 92 } 93 94 ._active { 95 opacity: 0.75; 96 } 97 98 .autocomplete-row { 99 display: table; 100 } 101 102 .autocomplete-row img { 103 margin-right: 10px; 104 float: left; 105 } 106 107 .autocomplete-row .info-content { 108 vertical-align: middle; 109 display: table-cell; 110 } 111 112 .umb-grid img { 113 width: 100%; 114 } 115 116 .pref-deliv-date { 117 width: 30%; 118 min-width: 100px; 119 } 120 121 .brand-nav__image img { 122 width: 50%; 123 } 124 125 .text-image__image img { 126 max-width: 100% !important; 127 max-height: 100% !important; 128 } 129 130 .grecaptcha-badge { 131 visibility: hidden; 132 } 133 134 </style> 135 136 <style> 137 .hawksearch-layout-container { 138 margin: 0 auto; 139 min-width: 340px; 140 max-width: 1440px; 141 } 142 143 hawksearch-unifiedsearch-field { 144 display: block; 145 margin: 25px 0 30px 0; 146 padding-right: 15px; 147 padding-left: 15px; 148 } 149 150 hawksearch-smartresponse { 151 display: block; 152 margin-bottom: 20px; 153 } 154 155 #hawksearch-loading-overlay { 156 display: none; 157 position: absolute; 158 top: 0; 159 left: 0; 160 right: 0; 161 bottom: 0; 162 background: rgba(255, 255, 255, 0.8); 163 z-index: 100; 164 flex-direction: column; 165 justify-content: center; 166 align-items: center; 167 gap: 16px; 168 } 169 170 #hawksearch-loading-overlay.active { 171 display: flex; 172 } 173 174 .hawksearch-spinner { 175 width: 48px; 176 height: 48px; 177 border: 4px solid rgba(0, 0, 0, 0.1); 178 border-top-color: #b40c1e; 179 border-radius: 50%; 180 animation: hawksearch-spin 0.8s linear infinite; 181 } 182 183 .hawksearch-loading-message { 184 font-size: 0.95rem; 185 color: #666; 186 } 187 188 @keyframes hawksearch-spin { 189 to { transform: rotate(360deg); } 190 } 191 192 .pagination__pages { 193 color: #fff; 194 } 195 196 :root { 197 --hawksearch-color-accent: #b40c1e; 198 --hawksearch-color-secondary: #999999; 199 --hawksearch-default-font-color: #2e2e2e; 200 --hawksearch-default-font-size: 16px; 201 --hawksearch-container-background--alternate: #f0f0f0; 202 --hawksearch-padding: 16px; 203 --hawksearch-margin: 20px; 204 } 205 </style> 206 207 208 209 <!-- Google Tag Manager --> 210
210<script>
vendor: 515 bytes, lines 210-218
210 211 (function (w, d, s, l, i) { 212 w[l] = w[l] || []; w[l].push({ 213 'gtm.start': 214 new Date().getTime(), event: 'gtm.js' 215 }); var f = d.getElementsByTagName(s)[0], 216 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 217 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); 218 })(window, document, 'script', 'dataLayer', '
218GTM-K8DHSFZ
vendor: 12 bytes, lines 218-219
218'); 219
219</script>
219 220 <!-- End Google Tag Manager --> 221 222 223 <!-- Hawksearch Header Includes --> 224
224<script type="text/javascript"> 225 // Recommendation/search widgets on this page can surface a Miele item on ANY page 226 // (this file loads sitewide via _Layout.cshtml), independent of whichever page-level 227 // condition decided whether to include Miele.js up front (see _Layout.cshtml's 228 // ViewBag.NeedsMieleJs). getMielePrices() is only ever defined once Miele.js has run, 229 // so load it on demand the first time a handler below actually needs it, rather than 230 // assuming it is already present. 231 var _mieleJsLoadPromise = null; 232 function ensureMieleJsLoaded() { 233 if (typeof getMielePrices === 'function') { 234 return Promise.resolve(); 235 } 236 if (!_mieleJsLoadPromise) { 237 _mieleJsLoadPromise = new Promise(function (resolve, reject) { 238 var script = document.createElement('script'); 239 script.src = '/scripts/Miele.js?v=1'; 240 script.onload = resolve; 241 script.onerror = reject; 242 document.head.appendChild(script); 243 }); 244 } 245 return _mieleJsLoadPromise; 246 } 247 </script>
247 248
248<script type="module" src="https://cdn.jsdelivr.net/npm/@bridgeline-digital/[email protected]/dist/hawksearch-handlebars-ui.min.js"> 249 </script>
249 250
250<script type="text/javascript"> 251 addEventListener('hawksearch:loaded', () => { 252 HawkSearch.init({ 253 clientId: "f16610f05c27457d8230ad483228e115", 254 search: { 255 url: `${window.location.origin}/home/search`, 256 endpointUrl: "https://goemans.searchapi-na.hawksearch.com", 257 itemTypes: { 258 default: "product" 259 } 260 }, 261 recommendations: { 262 endpointUrl: "https://goemans.recs-na.hawksearch.com" 263 }, 264 tracking: { 265 endpointUrl: "https://goemans.tracking-na.hawksearch.com" 266 }, 267 components: { 268 'search-results': { 269 template: 'custom-search-results' 270 }, 271 'pagination': { 272 template: 'custom-pagination' 273 }, 274 'tabs': { 275 template: 'custom-tabs' 276 }, 277 'autocomplete': { 278 template: 'custom-autocomplete' 279 }, 280 'search-results-item': { 281 template: 'custom-search-results-item' 282 }, 283 'recommendations-item': { 284 template: 'custom-recommendations-item' 285 }, 286 'smartresponse': { 287 //template: 'custom-smartresponse', 288 config: { 289 agentId: "", 290 clientGroupId: "", 291 apiUrl: "", 292 //searchEndpoint: 'https://goemans.searchapi-na.hawksearch.com' 293 } 294 }, 295 'unifiedsearch-field': { 296 template: 'custom-unifiedsearch-field' 297 }, 298 'visualsearch-field': { 299 template: 'custom-visualsearch-field' 300 } 301 }, 302 fieldMappings: { 303 title: 'name', 304 url: 'url_detail', 305 imageUrl: 'image', 306 salePrice: 'price_sale', 307 price: 'price_retail', 308 sku: 'sku', 309 description: 'description_short', 310 type: 'it' 311 } 312 }); 313 }); 314 315 //Adding the product uniqueid to the recommendation request for better tracking in HawkSearch 316 addEventListener('hawksearch:before-recommendations-executed', (event) => { 317 const request = event.detail; 318 const hawkContext = {}; 319 320 const uniqueIdFromServer = hawkContext?.uniqueid; 321 322 if (uniqueIdFromServer && request.widgetUids?.length) { 323 request.widgetUids.forEach(w => { 324 w.uniqueid = uniqueIdFromServer; 325 }); 326 } 327 }); 328 329 // Update Miele product prices in recommendations 330 // addEventListener('hawksearch:after-recommendations-executed', async (event) => { 331 // const recommendationsResponse = event.detail; 332 333 // const mieleItems = recommendationsResponse.widgetItems.flatMap(widget => 334 // widget.recommendationItems.filter(item => (item.brand?.[0] || item.brand) === 'Miele') 335 // ); 336 337 // if (mieleItems.length === 0) return; 338 339 // const mieleArticleNumbers = mieleItems.flatMap(item => item.article_number?.[0] || item.article_number); 340 341 // try { 342 // const mielePrices = getMielePrices(mieleArticleNumbers); 343 // console.log('Getting Miele prices for recommendations'); 344 345 // if (mielePrices.length === 0) return; 346 347 // const priceMap = new Map(mielePrices.map(p => [p.articleNumber, p])); 348 349 // mieleItems.forEach(item => { 350 // const articleNumber = item.article_number?.[0] || item.article_number; 351 // const priceInfo = priceMap.get(articleNumber); 352 // if (priceInfo) { 353 // item.custom.retail_price = priceInfo.price; 354 // item.custom.sale_price = priceInfo.finalPrice; 355 356 // console.log('Set miele price for item: ', articleNumber); 357 // } 358 // }); 359 // } catch (error) { 360 // console.error('Failed to fetch Miele prices:', error); 361 // } 362 // }); 363 364 addEventListener('hawksearch:recommendations-completed', async (event) => { 365 const recommendationsResponse = event.detail; 366 //debugger; 367 const mieleItems = recommendationsResponse.widgets?.flatMap(widget => 368 widget.items?.filter(item => item.attributes?.brand?.[0] === 'Miele') ?? [] 369 ) ?? []; 370 371 if (mieleItems.length === 0) return; 372 373 const articleNumbers = mieleItems.flatMap(item => item.attributes?.article_number?.[0]); 374 375 if (articleNumbers.length === 0) return; 376 377 try { 378 await ensureMieleJsLoaded(); 379 const mielePrices = await getMielePrices(articleNumbers); 380 if (!mielePrices?.length) return; 381 382 const priceMap = new Map(mielePrices.map(p => [p.articleNumber, p])); 383
384 mieleItems.forEach(item => { 385 const articleNumber = item.attributes?.article_number?.[0]; 386 const priceInfo = priceMap.get(articleNumber); 387 if (priceInfo) { 388 item.price = priceInfo.price; 389 item.salePrice = priceInfo.finalPrice; 390 } 391 }); 392 393 // Re-bind each widget individually (that's how recommendations binding works) 394 recommendationsResponse.widgets?.forEach(widget => { 395 HawkSearch.services.recommendations.triggerBindEvent('recommendations', widget, widget.id); 396 }); 397 398 } catch (error) { 399 console.error('Failed to fetch Miele prices:', error); 400 } 401 }); 402 403 // Hide loading overlay if search fails 404 addEventListener('hawksearch:search-failed', () => { 405 var overlay = document.getElementById('hawksearch-loading-overlay'); 406 if (overlay) overlay.classList.remove('active'); 407 }); 408 409 //This works in tandem with the loadingHawkSearchResults helper to prevent multiple renderings 410 // of the search results while we are updating Miele prices after the search is completed 411 addEventListener('hawksearch:before-search-executed', (event) => { 412 sessionStorage.setItem('loadingHawkSearchResults', 'true'); 413 414 // Only show overlay for user-initiated searches (URL will have requestType) 415 if (!window.location.search.includes('&requestType=')) return; 416 417 // Show loading overlay on the search results area 418 var searchResults = document.querySelector('hawksearch-search-results'); 419 if (searchResults) { 420 var overlay = document.getElementById('hawksearch-loading-overlay'); 421 if (!overlay) { 422 overlay = document.createElement('div'); 423 overlay.id = 'hawksearch-loading-overlay'; 424 overlay.innerHTML = '<div class="hawksearch-spinner"></div><span class="hawksearch-loading-message"></span>'; 425 searchResults.parentElement.style.position = 'relative'; 426 searchResults.parentElement.appendChild(overlay); 427 } 428 var request = event.detail; 429 var isImageSearch = request?.requestType === 'ImageData'; 430 overlay.querySelector('.hawksearch-loading-message').textContent = isImageSearch 431 ? 'Searching by image\u2026' 432 : 'Searching\u2026'; 433 overlay.classList.add('active'); 434 } 435 }); 436 437 addEventListener('hawksearch:search-completed', async (event) => { 438 const searchResponse = event.detail; 439 440 // Hide loading overlay 441 var overlay = document.getElementById('hawksearch-loading-overlay'); 442 if (overlay) overlay.classList.remove('active'); 443 444 const mieleItems = searchResponse.results?.filter(result => { 445 return result.attributes?.brand?.[0] === 'Miele'; 446 }); 447 448 if (!mieleItems?.length) return; 449 450 const articleNumbers = mieleItems.map(item => 451 item.attributes?.article_number?.[0] 452 ); 453 454 await ensureMieleJsLoaded(); 455 const mielePrices = await getMielePrices(articleNumbers); 456 if (!mielePrices?.length) return; 457 458 const priceMap = new Map(mielePrices.map(p => [p.articleNumber, p])); 459 460 mieleItems.forEach(item => { 461 const articleNumber = item.attributes?.article_number?.[0]; 462 const priceInfo = priceMap.get(articleNumber); 463 if (priceInfo) { 464 item.price = priceInfo.price; 465 item.salePrice = priceInfo.finalPrice; 466 if (priceInfo.rebateAmount < 0) { 467 item.attributes.on_sale = ['true']; 468 } 469 } 470 }); 471 472 // Clear the flag to allow search results to render again with updated prices 473 sessionStorage.removeItem('loadingHawkSearchResults'); 474 // Now re-bind passing in the updated data, 475 // so this renders your updated prices 476 HawkSearch.services.search.bindSearchResultsListComponent(searchResponse); 477 }); 478 479 addEventListener('hawksearch:initialized', () => { 480 //Just in case we need a helper 481 HawkSearch.handlebars.registerHelper('inspect', function (v1, v2) { 482 console.log('--- Spy Inspect ---'); 483 console.log('Value 1:', v1, 'Type:', typeof v1); 484 console.log('Value 2:', v2, 'Type:', typeof v2); 485 console.log('Equality Result:', v1 === v2); 486 return v1 === v2; 487 }); 488 489 HawkSearch.handlebars.registerHelper('loadingHawkSearchResults', function() { 490 if (sessionStorage.getItem('loadingHawkSearchResults') === 'false') 491 return false;
492 return true; 493 }); 494 495 // Handlebars helper for a ternary operator. Usage: {{ternary va}} 496 HawkSearch.handlebars.registerHelper('ternary', function(value, defaultValue) { 497 return value != null ? value : defaultValue; 498 }); 499 500 HawkSearch.handlebars.registerHelper('viewLabel', function(uniqueId, type) { 501 var it = typeof type === 'string' ? type.toLowerCase() : ''; 502 if (it === 'package' || (uniqueId && String(uniqueId).indexOf('-') !== -1)) return 'View Package'; 503 if (it === 'promotion') return 'View Promotion'; 504 if (it === 'content') return 'Learn More'; 505 if (it === 'blog') return 'Read More'; 506 return 'View Product'; 507 }); 508 509 // We use a helper to get the item type since 'it' is always 'product' 510 HawkSearch.handlebars.registerHelper('itemType', function(string) { 511 // Safety check: if string is null/undefined, return a default 512 if (!string) { 513 return "unknown"; 514 } 515 516 // Convert to string to ensure .indexOf works if it's accidentally a number 517 const str = String(string); 518 519 if (str.indexOf('-') === -1) { 520 if (str.indexOf('Clearance_') !== -1) { 521 return "clearance"; 522 } 523 return "product"; 524 } else { 525 return "package"; 526 } 527 }); 528 }); 529 530 // To prevent both search boxes from displaying autocomplete results simultaneously 531 addEventListener('hawksearch:before-autocomplete-executed', (event) => { 532 // Debounce 533 const debounce = (func, delay = 250) => { 534 let timer; 535 return (...args) => { 536 clearTimeout(timer); 537 timer = setTimeout(() => func.apply(this, args), delay); 538 }; 539 }; 540 541 const STYLE_ID = 'hs-force-hide-autocomplete'; 542 document.addEventListener('input', debounce((event) => { 543 // Identify the active search field wrapper 544 const activeHost = event.target.closest('hawksearch-unifiedsearch-field'); 545 546 // We are inside an active hawksearch-unifiedsearch-field 547 if (activeHost) { 548 // The actual input element inside 549 const internalInput = activeHost.shadowRoot 550 ? activeHost.shadowRoot.querySelector('input') 551 : activeHost.querySelector('input'); 552 553 const hasValue = internalInput && internalInput.value.length > 0; 554 555 // Find all search fields on the page 556 const allHosts = document.querySelectorAll('hawksearch-unifiedsearch-field'); 557 558 allHosts.forEach((host) => { 559 // Inactive search fields 560 if (host !== activeHost && host.shadowRoot) { 561 let styleTag = host.shadowRoot.getElementById(STYLE_ID); 562 563 // If the user is typing in one, hide the other 564 if (hasValue) { 565 // Inject the style 566 if (!styleTag) { 567 styleTag = document.createElement('style'); 568 styleTag.id = STYLE_ID; 569 styleTag.textContent = `hawksearch-autocomplete { display: none !important; }`; 570 host.shadowRoot.appendChild(styleTag); 571 } 572 } 573 } 574 575 // The active search field 576 if (host === activeHost && host.shadowRoot) { 577 let styleTag = host.shadowRoot.getElementById(STYLE_ID); 578 579 // If the style is already active, remove it 580 if (styleTag) { 581 styleTag.remove() 582 } 583 } 584 }); 585 } 586 }, 250)); 587 }); 588 </script>
588 589 590 <link rel="stylesheet" href="/lib/fontawesome/6.2.1/css/all.min.css" /> 591 592
592<script> 593 window.tgDefer = window.tgDefer || function () { (tgDefer.q = tgDefer.q || []).push(arguments); }; 594 </script>
594 595</head> 596<body> 597 <!-- Google Tag Manager (noscript) -->
vendor: 89 bytes, lines 597-599
597 598 <noscript> 599 <iframe src="https://www.googletagmanager.com/ns.html?id=
599GTM-K8DHSFZ
vendor: 103 bytes, lines 599-601
599" height="0" width="0" style="display: none; visibility: hidden"></iframe> 600 </noscript> 601
601<!-- End Google Tag Manager (noscript) --> 602 <noindex> 603 <div class="header-mobile"> 604 <div class="header__top-item w"> 605 </div> 606 <div class="w header-mobile__wrapper"> 607 <a class="header-mobile__logo" href="/"><img src="/media/pndpgkjt/goe-logo-white-with-tagline-with-canadiana.png" alt="Goemans website"></a> 608 <hawksearch-unifiedsearch-field></hawksearch-unifiedsearch-field> 609 </div> 610 <div class="header-mobile__inner"> 611 <div class="header-mobile__wrapp"> 612 <ul class="header__icons"> 613 <li class="header-icons__item"> 614 <a class="header__compare" href="/home/comparelist"> 615 <span class="header__icon-title">compare</span> 616 <img src="/html/goemans/build/img/temp/header/document.png" alt=""> 617 <span class="comparelist-counter header__compare-num">0</span> 618 </a> 619 </li> 620 <li class="header-icons__item"> 621 <a class="header-icons__link" href="/home/wishlist/"> 622 <span class="header__icon-title">wishlist</span> 623 <img src="/html/goemans/build/img/temp/header/like.png" alt="" /> 624 </a> 625 </li> 626 <li class="header-icons__item"> 627 <a class="header-icons__link" href="https://accountportal.goemans.com/loginpages/login/"> 628 <img src="/html/goemans/build/img/temp/header/icon-person.svg" alt="customer portal"> 629 </a> 630 </li> 631 <li> 632 <a class="header__cart" href="/home/cart-step-1/"> 633 <img src="/html/goemans/build/img/temp/header/cart.png" alt="Shopping Cart"> <span class="cart-counter header__cart-num">0</span> 634 </a> 635 </li> 636 </ul> 637 <div class="header-burger"> 638 <div class="helper-burger"></div> 639 </div> 640 <div class="header__call-block"> 641 Call For support: 642 <a href="tel:+18774636267">1-877-GOEMANS</a> 643 </div> 644 </div> 645 <div class="header-mobile__right"> 646 </div> 647 </div> 648 </div> 649 </noindex> 650 <div class="main-wrapper"> 651 <div class="main-wrapper__inner"> 652 <div class="header__desktop"> 653 <div class="header__top-block"> 654 <div class="header__top-items w"> 655 <ul class="header__item-ul"> 656 <li><a href="/blog/">Blog</a></li> 657 </ul> 658 <div class="header__top-item"> 659 <ul class="header__icons"> 660 <li> 661 <a class="header__quote quote" href="#"> 662 request a quote 663 </a> 664 </li> 665 666 <li> 667 <a class="header__compare" href="/home/comparelist">compare <img src="/html/goemans/build/img/icons/document.png" alt=""><span class="comparelist-counter header__compare-num">0</span></a> 668 </li> 669 <li> 670 <a class="header__wishlist" href="/home/wishlist"> 671 <img src="/html/goemans/build/img/icons/like.png" alt=""> <span class="wishlist-counter header__wishlist-num">0</span> 672 </a> 673 </li> 674 <li class="header-icons__item"> 675 <a class="header-icons__link" href="https://accountportal.goemans.com/loginpages/login/"> 676 <img src="/html/goemans/build/img/temp/header/icon-person.svg" alt="customer portal" /> 677 </a> 678 </li> 679 680 <li> 681 <a class="header__cart" href="/home/cart-step-1/"> 682 <img src="/html/goemans/build/img/icons/cart.png" alt=""> <span class="cart-counter header__cart-num">0</span> 683 </a> 684 </li> 685 </ul> 686 </div> 687 </div> 688 </div> 689 <div class="header__bg-color"> 690 <div class="header__center-block w"> 691 <hawksearch-unifiedsearch-field></hawksearch-unifiedsearch-field> 692 <a class="header__logo" href="/"><img src="/media/pndpgkjt/goe-logo-white-with-tagline-with-canadiana.png" alt="Goemans website"></a> 693 694 695 <div class="header__advertising"> 696 <p><a href="/home/in-stock/" title="In-Stock">CHECK OUT OUR IN STOCK SELECTION</a></p> 697 </div> 698 </div> 699 </div> 700 701 702<div class="header__menu"> 703 <div class="header__menu-wrapper w"> 704 <div class="header__menu-nav"> 705 <ul class="header__menu-ul"> 706 <li class="header__menu-li">
707 <span class="header__menu-link -caret">Shop</span> 708 <div class="header__menu-subw"> 709 <div class="header__menu-subblock"> 710 <div class="header__menu-sectionblock"> 711 <div class="header__menu-image"> 712 <div class="header__menu-image-item "> 713 <img src="/../../media/9521/goe_good_to_go_navigation_370x524px.png" alt="" loading="lazy" decoding="async"> 714 </div> 715 <div class="header__menu-image-item "> 716 <img src="/../../media/8761/goe_nov_2024_liquidation_category_img_307x524px.jpg" alt="" loading="lazy" decoding="async"> 717 </div> 718 <div class="header__menu-image-item "> 719 <img src="/../../media/5063/goe_kitchenaid_clearance_v2.jpg" alt="" loading="lazy" decoding="async"> 720 </div> 721 <div class="header__menu-image-item "> 722 <img src="/../../media/5057/bosch_sge53b55uc_dish-washer_307x524px.jpg" alt="" loading="lazy" decoding="async"> 723 </div> 724 <div class="header__menu-image-item "> 725 <img src="/../../media/5056/goe_lg-studio_lsse2039bd_fridge_307x524px.jpg" alt="" loading="lazy" decoding="async"> 726 </div> 727 <div class="header__menu-image-item -active"> 728 <img src="/../../media/5130/goe_cafe_cooking_307x167px.jpg" alt="" loading="lazy" decoding="async"> 729 </div> 730 <div class="header__menu-image-item "> 731 <img src="/../../media/5058/goe_wp_laundry_edit_307x524px.jpg" alt="" loading="lazy" decoding="async"> 732 </div> 733 <div class="header__menu-image-item "> 734 <img src="/../../media/5059/goe_kitchenaid_package_v2.jpg" alt="" loading="lazy" decoding="async"> 735 </div> 736 <div class="header__menu-image-item "> 737 <img src="/../../media/5060/goe_napoleon_outdoor_307x524px_v2.jpg" alt="" loading="lazy" decoding="async"> 738 </div> 739 <div class="header__menu-image-item "> 740 <img src="/../../media/5061/goe_kitchenaid_home-essentials_307x524px.jpg" alt="" loading="lazy" decoding="async"> 741 </div> 742 <div class="header__menu-image-item "> 743 <img src="/../../media/5062/goe_wolf_accessories_307x524px.jpg" alt="" loading="lazy" decoding="async"> 744 </div> 745 <div class="header__menu-image-item "> 746 <img src="/../../media/5064/goe_eco-appliance_v2.jpg" alt="" loading="lazy" decoding="async"> 747 </div> 748 <div class="header__menu-image-item "> 749 <img src="/../../media/9076/goe_web_canadian_navigation_img_march_2025_336x167px.jpg" alt="" loading="lazy" decoding="async"> 750 </div> 751 <div class="header__menu-image-item "> 752 <img src="/../../media/9692/goe-grill_hero_july_2025_navigation-image_307x524px.png" alt="" loading="lazy" decoding="async"> 753 </div> 754 <div class="header__menu-image-item "> 755 <img src="/../../media/9803/goe_luxury_for_less_
755image_aug_2025_307x524px.jpg" alt="" loading="lazy" decoding="async"> 756 </div> 757 </div> 758 <div class="header__menu-section"> 759 <ul class="header__section-ul"> 760 <li class=""> 761 <a href="#">Good to Go (In-stock) </a> 762 </li> 763 <li class=""> 764 <a href="#">Liquidation</a> 765 </li> 766 <li class=""> 767 <a href="#">Clearance</a> 768 </li> 769 <li class=""> 770 <a href="#">Dishwasher</a> 771 </li> 772 <li class=""> 773 <a href="#">Refrigeration</a> 774 </li> 775 <li class="-active"> 776 <a href="#">Cooking</a> 777 </li> 778 <li class=""> 779 <a href="#">Laundry</a> 780 </li> 781 <li class=""> 782 <a href="#">Packages</a> 783 </li> 784 <li class=""> 785 <a href="#">Outdoor</a> 786 </li> 787 <li class=""> 788 <a href="#">Home Essentials</a> 789 </li> 790 <li class=""> 791 <a href="#">Accessories</a> 792 </li> 793 <li class=""> 794 <a href="#">Eco</a> 795 </li> 796 <li class=""> 797 <a href="#">MADE IN CANADA</a> 798 </li> 799 <li class=""> 800 <a href="#">Grill Hero</a> 801 </li> 802 <li class=""> 803 <a href="#">Luxury for Less</a> 804 </li> 805 </ul> 806 </div> 807 </div> 808 <div class="header__menu-partblock"> 809 <div class="header__menu-segment"> 810 <div class="header__menublock-wrapper "> 811 <div class="header__menu-blockwrapp"> 812 <div class="header__menu-segmentw"> 813 </div> 814 815 <div class="header__menu-text"> 816 <p><span style="font-size: 12pt;">Avoid delays and check out our 'Good to go' items for in-stock models with a next day delivery. </span></p> 817<p> </p> 818<p><img loading="lazy" decoding="async" style="width: 0px; height: 0px;" src="?width=0&height=0" alt=""><a href="/home/in-stock/" title="In-Stock"><img loading="lazy" decoding="async" style="width: 174px; height: 235px;" src="/../../media/9519/goe_good_to_go_promodillo.png?width=174&height=235&mode=max" alt=""></a></p> 819 </div> 820 </div> 821 822 </div> 823 <div class="header__menublock-wrapper "> 824 <div class="header__menu-blockwrapp"> 825 <div class="header__menu-segmentw"> 826 </div> 827 828 <div class="header__menu-text"> 829 <p><span style="font-size: 12pt;">Closed Box or End of Line Products are products that have been discontinued or are no longer being produced, but still new and never opened. For this reason an additional discount may apply.</span></p> 830<p> </p> 831<p>
831<a href="/home/liquidation/" title="Liquidation">New In-Box Here</a></p> 832 </div> 833 </div> 834 835 </div> 836 <div class="header__menublock-wrapper "> 837 <div class="header__menu-blockwrapp"> 838 <div class="header__menu-segmentw"> 839 </div> 840 841 <div class="header__menu-text"> 842 <p><span style="font-size: 12pt;">Open-box products are typically floor models or returned goods that have been inspected to make sure they work. You will be able to purchase them from individual store locations. Product varies from location to location.</span></p> 843<p>Â </p> 844<p>Â </p> 845<p><a href="/home/open-box-clearance/" title="Open-In-Box">Open Box Here</a></p> 846<p>Â </p> 847 </div> 848 </div> 849 850 </div> 851 <div class="header__menublock-wrapper "> 852 <div class="header__menu-blockwrapp"> 853 <div class="header__menu-segmentw"> 854 <div class="header__menu-topic"> 855 <a class="header__menu-title" href="/home/kitchen/dishwasher/front-control/">Front Control</a> 856 <ul class="header__topic-ul"> 857 </ul> 858 </div> 859 <div class="header__menu-topic"> 860 <a class="header__menu-title" href="/home/kitchen/dishwasher/top-control/">Top Control</a> 861 <ul class="header__topic-ul"> 862 </ul> 863 </div> 864 <div class="header__menu-topic"> 865 <a class="header__menu-title" href="/home/kitchen/dishwasher/integrated-panel/">Integrated Panel</a> 866 <ul class="header__topic-ul"> 867 </ul> 868 </div> 869 <div class="header__menu-topic"> 870 <a class="header__menu-title" href="/home/kitchen/dishwasher/drawer/">Drawer</a> 871 <ul class="header__topic-ul"> 872 </ul> 873 </div> 874 <div class="header__menu-topic"> 875 <a class="header__menu-title" href="/home/kitchen/dishwasher/portable/">Portable</a> 876 <ul class="header__topic-ul"> 877 </ul> 878 </div> 879 <div class="header__menu-topic"> 880 <a class="header__menu-title" href="/home/kitchen/dishwasher/dishwasher-accessories/">Dishwasher Accessories</a> 881 <ul class="header__topic-ul"> 882 </ul> 883 </div> 884 </div> 885 886 </div> 887 888 <div class="header__menu-newsblock"> 889 <a href="https://www.goemans.com/home/promotions/?page=1&category=2832,2831,1712,1232,1611" class="header__menu-newsitem"> 890 <h5>Promotions</h5> 891 <div class="header__menu-newsimage"> 892 <img src="/../../media/6341/goemans_highlight_visuals_336x167px_promotions.jpg" alt="" loading="lazy" decoding="async"> 893 </div> 894 </a> 895 <a href="https://blog.goemans.com/tag/dishwasher" class="header__menu-newsitem"> 896 <h5>BLOG POSTS</h5> 897 <div class="header__menu-newsimage"> 898 <img src="/../../media/6342/goemans_highlight_visuals_336x167px_blog-posts.jpg" alt="" loading="lazy" decoding="async"> 899 </div> 900 </a> 901 </div> 902 </div> 903 <div class="header__menublock-wrapper "> 904 <div class="header__menu-blockwrapp"> 905 <div class="header__menu-segmentw"> 906 <div class="header__menu-topic"> 907 <a class="header__menu-title" href="/home/kitchen/refrigeration/fridges/">Fridges</a> 908 <ul class="header__topic-ul"> 909 <li> 910 <a href="/home/kitchen/refrigeration/fridges/french-do
910or/"> 911 French Door 912 </a> 913 </li> 914 <li> 915 <a href="/home/kitchen/refrigeration/fridges/side-by-side/"> 916 Side-By-Side 917 </a> 918 </li> 919 <li> 920 <a href="/home/kitchen/refrigeration/fridges/bottom-mount/"> 921 Bottom Mount 922 </a> 923 </li> 924 <li> 925 <a href="/home/kitchen/refrigeration/fridges/top-mount/"> 926 Top Mount 927 </a> 928 </li> 929 <li> 930 <a href="/home/kitchen/refrigeration/fridges/built-in/"> 931 Built In 932 </a> 933 </li> 934 <li> 935 <a href="/home/kitchen/refrigeration/fridges/column/"> 936 Column 937 </a> 938 </li> 939 <li> 940 <a href="/home/kitchen/refrigeration/fridges/under-counter/"> 941 Under Counter 942 </a> 943 </li> 944 <li> 945 <a href="/home/kitchen/refrigeration/fridges/wine-cooler/"> 946 Wine Cooler 947 </a> 948 </li> 949 <li> 950 <a href="/home/kitchen/refrigeration/fridges/wine-reserve/"> 951 Wine Reserve 952 </a> 953 </li> 954 <li> 955 <a href="/home/kitchen/refrigeration/fridges/free-standing/"> 956 Free Standing 957 </a> 958 </li> 959 <li> 960 <a href="/home/kitchen/refrigeration/fridges/counter-depth/"> 961 Counter Depth 962 </a> 963 </li> 964 </ul> 965 </div> 966 <div class="header__menu-topic"> 967 <a class="header__menu-title" href="/home/kitchen/refrigeration/freezer/">Freezer</a> 968 <ul class="header__topic-ul"> 969 <li> 970 <a href="/home/kitchen/refrigeration/freezer/chest/"> 971 Chest 972 </a> 973 </li> 974 <li> 975 <a href="/home/kitchen/refrigeration/freezer/frost-free-upright/"> 976 Frost Free Upright 977 </a> 978 </li> 979 <li> 980 <a href="/home/kitchen/refrigeration/freezer/manual-defrost-upright/"> 981 Manual Defrost Upright 982 </a> 983 </li> 984 <li> 985 <a href="/home/kitchen/refrigeration/freezer/column/"> 986 Column 987 </a> 988 </li> 989 <li> 990 <a href="/home/kitchen/refrigeration/freezer/ice-maker/"> 991 Ice Maker 992 </a> 993 </li> 994 </ul> 995 </div> 996 <div class="header__menu-topic"> 997 <a class="header__menu-title" href="/home/kitchen/refrigeration/dual-refrigeration-pairs/">Dual Refrigeration Pairs</a> 998 <ul class="header__topic-ul"> 999 </ul> 1000 </div> 1001 <div class="header__menu-topic"> 1002 <a class="header__menu-title" href="/home/kitchen/refrigeration/refrigeration-accessories/">Refrigeration Accessories</a> 1003 <ul class="header__topic-ul"> 1004 </ul> 1005 </div> 1006 </div> 1007 1008 </div> 1009 1010 <div class="header__menu-newsblock"> 1011 <a href="https://www.goemans.com/home/promotions/?page=1&category=1611,1718,1238" class="header__menu-newsitem"> 1012 <h5>Promotions</h5> 1013 <div class="header__menu-newsimage"> 1014 <img src="/../../media/6341/goemans_highlight_visuals_336x167px_promotions.jpg" alt="" loading="lazy" decoding="async"> 1015 </div> 1016 </a> 1017 <a href="https://info.goemans.com/buyingguidepage?hs_preview=UZxkDfZf-186921388443" class="header__menu-newsitem"> 1018 <h5>BUYING GUIDES</h5> 1019 <div class="header__menu-newsimage"> 1020 <img src="/../../media/6340/goemans_highlight_visuals_336x167px_buying-guides.jpg" alt="" loading="lazy" decoding="async"> 1021 </div> 1022 </a> 1023 <a href="https://blog.goemans.com/tag/refrigeration" class="header__menu-newsitem"> 1024 <h5>BLOG POSTS</h5> 1025 <div class="header__menu-newsimage"> 1026 <img src="/../../media/6342/goemans_highlight_visuals_336x167px_blog-posts.jpg" alt="" loading="lazy" decoding="async"> 1027 </div> 1028 </a> 1029 </div> 1030 </div> 1031 <div class="header__menublock-wrapper -active"> 1032 <div class="header__menu-blockwrapp"> 1033 <div class="header__menu-segmentw"> 1034 <div class="header__menu-topic"> 1035 <a class="header__menu-title" href="/home/kitchen/cooking/range/">Range</a> 1036 <ul class="header__topic-ul"> 1037 <li> 1038 <a href="/home/kitchen/cooking/range/gas/"> 1039 Gas 1040 </a> 1041 </li> 1042 <li> 1043 <a href="/home/kitchen/cooking/range/electric/"> 1044 Electric 1045 </a> 1046 </li> 1047 <li> 1048 <a href="/home/kitchen/cooking/range/induction/"> 1049 Induction 1050 </a> 1051 </li> 1052 <li> 1053 <a href="/home/kitchen/cooking/range/dual-fuel/"> 1054 Dual Fuel 1055 </a> 1056 </li> 1057 </ul> 1058 </div> 1059 <div class="header__menu-topic"> 1060 <a class="header__menu-title" href="/home/kitchen/cooking/cooktop/">Cooktop</a> 1061 <ul class="header__topic-ul"> 1062 <li> 1063 <a href="/home/kitchen/cooking/cooktop/gas/"> 1064 Gas 1065 </a> 1066 </li> 1067 <li> 1068 <a href="/home/kitchen/cooking/cooktop/electric/"> 1069 Electric 1070 </a> 1071 </li> 1072 <li> 1073 <a href="/home/kitchen/cooking/cooktop/induction/"> 1074 Induction 1075 </a> 1076 </li> 1077 </ul> 1078 </div> 1079 <div class="header__menu-topic"> 1080 <a class="header__menu-title" href="/home/kitchen/cooking/oven/">Oven</a> 1081 <ul class="header__topic-ul"> 1082 <li> 1083 <a href="/home/kitchen/cooking/oven/steam/"> 1084 Steam 1085 </a> 1086
1086 </li> 1087 <li> 1088 <a href="/home/kitchen/cooking/oven/speed/"> 1089 Speed 1090 </a> 1091 </li> 1092 <li> 1093 <a href="/home/kitchen/cooking/oven/double-wall-oven/"> 1094 Double Wall Oven 1095 </a> 1096 </li> 1097 <li> 1098 <a href="/home/kitchen/cooking/oven/combination-oven/"> 1099 Combination Oven 1100 </a> 1101 </li> 1102 <li> 1103 <a href="/home/kitchen/cooking/oven/single-wall-oven/"> 1104 Single Wall Oven 1105 </a> 1106 </li> 1107 </ul> 1108 </div> 1109 <div class="header__menu-topic"> 1110 <a class="header__menu-title" href="/home/kitchen/cooking/ventilation/">Ventilation</a> 1111 <ul class="header__topic-ul"> 1112 <li> 1113 <a href="/home/kitchen/cooking/ventilation/wall-mount/"> 1114 Wall Mount 1115 </a> 1116 </li> 1117 <li> 1118 <a href="/home/kitchen/cooking/ventilation/island-chimney/"> 1119 Island Chimney 1120 </a> 1121 </li> 1122 <li> 1123 <a href="/home/kitchen/cooking/ventilation/downdraft/"> 1124 Downdraft 1125 </a> 1126 </li> 1127 <li> 1128 <a href="/home/kitchen/cooking/ventilation/blower/"> 1129 Blower 1130 </a> 1131 </li> 1132 <li> 1133 <a href="/home/kitchen/cooking/ventilation/hood-inserts/"> 1134 Hood Inserts 1135 </a> 1136 </li> 1137 <li> 1138 <a href="/home/kitchen/cooking/ventilation/under-cabinet-ho
1138od/"> 1139 Under Cabinet Hood 1140 </a> 1141 </li> 1142 </ul> 1143 </div> 1144 <div class="header__menu-topic"> 1145 <a class="header__menu-title" href="/home/kitchen/cooking/microwave/">Microwave</a> 1146 <ul class="header__topic-ul"> 1147 <li> 1148 <a href="/home/kitchen/cooking/microwave/counter-top/"> 1149 Counter-Top 1150 </a> 1151 </li> 1152 <li> 1153 <a href="/home/kitchen/cooking/microwave/over-the-range/"> 1154 Over-The-Range 1155 </a> 1156 </li> 1157 <li> 1158 <a href="/home/kitchen/cooking/microwave/drawer/"> 1159 Drawer 1160 </a> 1161 </li> 1162 <li> 1163 <a href="/home/kitchen/cooking/microwave/built-in/"> 1164 Built-In 1165 </a> 1166 </li> 1167 </ul> 1168 </div> 1169 <div class="header__menu-topic"> 1170 <a class="header__menu-title" href="/home/kitchen/cooking/warming-drawer/">Warming Drawer</a> 1171 <ul class="header__topic-ul"> 1172 <li> 1173 <a href="/home/kitchen/cooking/warming-drawer/warming-drawer/"> 1174 Warming Drawer 1175 </a> 1176 </li> 1177 </ul> 1178 </div> 1179 <div class="header__menu-topic"> 1180 <a class="header__menu-title" href="/home/kitchen/cooking/cooking-accessories/">Cooking Accessories</a> 1181 <ul class="header__topic-ul"> 1182 </ul> 1183 </div> 1184 </div> 1185 1186 </div> 1187 1188 <div class="header__menu-newsblock"> 1189 <a href="https://www.goemans.com/home/promotions/?page=1&category=1652,1170,1653,1687,1693,2104,1699,2101,1611,1674,1681,1704" class="header__menu-newsitem"> 1190 <h5>Promotions</h5> 1191 <div class="header__menu-newsimage"> 1192 <img src="/../../media/6341/goemans_highlight_visuals_336x167px_promotions.jpg" alt="" loading="lazy" decoding="async"> 1193 </div> 1194 </a> 1195 <a href="https://info.goemans.com/buyingguidepage?hs_preview=UZxkDfZf-186921388443" class="header__menu-newsitem"> 1196 <h5>BUYING GUIDES</h5> 1197 <div class="header__menu-newsimage"> 1198 <img src="/../../media/6340/goemans_highlight_visuals_336x167px_buying-guides.jpg" alt="" loading="lazy" decoding="async"> 1199 </div> 1200 </a> 1201 <a href="https://blog.goemans.com/tag/cooking" class="header__menu-newsitem"> 1202 <h5>BLOG POSTS</h5> 1203 <div class="header__menu-newsimage"> 1204 <img src="/../../media/6342/goemans_highlight_visuals_336x167px_blog-posts.jpg" alt="" loading="lazy" decoding="async"> 1205 </div> 1206 </a> 1207 </div> 1208 </div> 1209 <div class="header__menublock-wrapper "> 1210 <div class="header__menu-blockwrapp"> 1211 <div class="header__menu-segmentw"> 1212 <div class="header__menu-topic"> 1213 <a class="header__menu-title" href="/home/laundry/washer/">Washer</a> 1214 <ul class="header__topic-ul"> 1215 <li> 1216 <a href="/home/laundry/washer/top-load/"> 1217 Top Load 1218 </a> 1219 </li> 1220 <li> 1221 <a href="/home/laundry/washer/front-load/"> 1222 Front Load 1223 </a> 1224 </li> 1225 </ul> 1226 </div> 1227 <div class="header__menu-topic"> 1228 <a class="header__menu-title" href="/home/laundry/dryer/">Dryer</a> 1229 <ul class="header__topic-ul"> 1230 <li> 1231 <a href="/home/laundry/dryer/gas/"> 1232 Gas 1233 </a> 1234 </li> 1235 <li> 1236 <a href="/home/laundry/dryer/electric/"> 1237 Electric 1238 </a> 1239 </li> 1240 <li> 1241 <a href="/home/laundry/dryer/steam-closet/"> 1242 Steam Closet 1243 </a> 1244 </li> 1245 </ul> 1246 </div> 1247 <div class="header__menu-topic"> 1248 <a class="header__menu-title" href="/home/laundry/washerdryer-combo/">Washer/Dryer Combo</a> 1249 <ul class="header__topic-ul"> 1250 </ul> 1251 </div> 1252 <div class="header__menu-topic"> 1253 <a class="header__menu-title" href="/home/laundry/pedestals/">Pedestals</a> 1254 <ul class="header__topic-ul"> 1255 </ul> 1256 </div> 1257 <div class="header__menu-topic"> 1258 <a class="header__menu-title" href="/home/laundry/laundry-accessories/">Laundry Accessories</a> 1259 <ul class="header__topic-ul"> 1260 </ul> 1261 </div> 1262 </div> 1263 1264 </div> 1265 1266 <div class="header__menu-newsblock"> 1267 <a href="/home/promotions/?page=1&category=1611,1270" class="header__menu-newsitem"> 1268 <h5>Promotions</h5> 1269 <div class="header__menu-newsimage"> 1270 <img src="/../../media/6341/goemans_highlight_visuals_336x167px_promotions.jpg" alt="" loading="lazy" decoding="async"> 1271 </div> 1272 </a> 1273 <a href="https://info.goemans.com/buyingguidepage?hs_preview=UZxkDfZf-186921388443" class="header__menu-newsitem"> 1274 <h5>BUYING GUIDES</h5> 1275 <div class="header__menu-newsimage"> 1276 <img src="/../../media/6340/goemans_highlight_visuals_336x167px_buying-guides.jpg" alt="" loading="lazy" decoding="async"> 1277 </div> 1278 </a> 1279 <a href="https://www.goemans.com/home/promotions/?page=1&category=1751,1750,1628,1764" class="header__menu-newsitem"> 1280 <h5>Blog Posts</h5> 1281 <div class="header__menu-newsimage"> 1282 <img src="/../../media/6342/goemans_highlight_visuals_336x167px_blog-posts.jpg" alt="" loading="lazy" decoding="async"> 1283 </div> 1284 </a> 1285 </div> 1286 </div> 1287 <div class="header__menublock-wrapper "> 1288 <div class="header__menu-blockwrapp"> 1289 <div class="header__menu-segmentw"> 1290 <div class="header__menu-topic"> 1291 <a class="header__menu-title" href="/home/packages/kitchen-packages/">Kitchen Packages</a> 1292 <ul class="header__topic-ul"> 1293 </ul> 1294 </div> 1295 <div class="header__menu-topic"> 1296 <a class="header__menu-title" href="/home/packages/laundry-packages/">Laundry Packages</a> 1297 <ul class="header__topic-ul"> 1298 </ul> 1299 </div> 1300 </div> 1301 1302 <div class="header__menu-text"> 1303 <p><span>Take the guess work out of creating your dream kitchen/ laundry area.</span></p> 1304 </div> 1305 </div> 1306 1307 <div class="header__menu-newsblock"> 1308 <a href="/home/promotions/" class="header__menu-newsitem"> 1309 <h5>Promotions</h5> 1310 <div class="header__menu-newsimage"> 1311 <img src="/../../media/6341/goemans_highlight_visuals_336x167px_promotions.jpg" alt="" loading="lazy" decoding="async"> 1312 </div> 1313
1313 </a> 1314 <a href="https://blog.goemans.com/" class="header__menu-newsitem"> 1315 <h5>BLOG POSTS</h5> 1316 <div class="header__menu-newsimage"> 1317 <img src="/../../media/6342/goemans_highlight_visuals_336x167px_blog-posts.jpg" alt="" loading="lazy" decoding="async"> 1318 </div> 1319 </a> 1320 </div> 1321 </div> 1322 <div class="header__menublock-wrapper "> 1323 <div class="header__menu-blockwrapp"> 1324 <div class="header__menu-segmentw"> 1325 <div class="header__menu-topic"> 1326 <a class="header__menu-title" href="/home/kitchen/outdoor/freestanding-grills/">Freestanding Grills</a> 1327 <ul class="header__topic-ul"> 1328 <li> 1329 <a href="/home/kitchen/outdoor/freestanding-grills/natural-gas/"> 1330 Natural Gas 1331 </a> 1332 </li> 1333 <li> 1334 <a href="/home/kitchen/outdoor/freestanding-grills/propane/"> 1335 Propane 1336 </a> 1337 </li> 1338 <li> 1339 <a href="/home/kitchen/outdoor/freestanding-grills/charcoal-pellet/"> 1340 Charcoal / Pellet 1341 </a> 1342 </li> 1343 </ul> 1344 </div> 1345 <div class="header__menu-topic"> 1346 <a class="header__menu-title" href="/home/kitchen/outdoor/outdoor-kitchens/">Outdoor Kitchens</a> 1347 <ul class="header__topic-ul"> 1348 <li> 1349 <a href="/home/kitchen/outdoor/outdoor-kitchens/natural-gas-built-in/"> 1350 Natural Gas Built In 1351 </a> 1352 </li> 1353 <li> 1354 <a href="/home/kitchen/outdoor/outdoor-kitchens/propane-built-in/"> 1355 Propane Built In 1356 </a> 1357 </li> 1358 <li> 1359 <a href="/home/kitchen/outdoor/outdoor-kitchens/outdoor-kitchen-components/"> 1360 Outdoor Kitchen Components 1361 </a> 1362 </li> 1363 <li> 1364 <a href="/home/kitchen/outdoor/outdoor-kitchens/outdoor-refrigeration/"> 1365 Outdoor Refrigeration 1366 </a> 1367 </li> 1368 <li> 1369 <a href="/home/kitchen/outdoor/outdoor-kitchens/patio-heater/"> 1370 Patio Heater 1371 </a> 1372 </li> 1373 <li> 1374 <a href="/home/kitchen/outdoor/outdoor-kitchens/pizza-oven/"> 1375 Pizza Oven 1376 </a> 1377 </li> 1378 </ul> 1379 </div> 1380 <div class="header__menu-topic"> 1381 <a class="header__menu-title" href="/home/kitchen/outdoor/outdoor-accessories/">Outdoor Accessories</a> 1382 <ul class="header__topic-ul"> 1383 </ul> 1384 </div> 1385 </div> 1386 1387 </div> 1388 1389 <div class="header__menu-newsblock"> 1390 <a href="/home/promotions/?page=1&category=3101" class="header__menu-newsitem"> 1391 <h5>Promotions</h5> 1392 <div class="header__menu-newsimage"> 1393 <img src="/../../media/6341/goemans_highlight_visuals_336x167px_promotions.jpg" alt="" loading="lazy" decoding="async"> 1394 </div> 1395 </a> 1396 <a href="https://info.goemans.com/buyingguidepage?hs_preview=UZxkDfZf-186921388443" class="header__menu-newsitem"> 1397 <h5>BUYING GUIDES</h5> 1398 <div class="header__menu-newsimage"> 1399 <img src="/../../media/6340/goemans_highlight_visuals_336x167px_buying-guides.jpg" alt="" loading="lazy" decoding="async"> 1400 </div> 1401 </a> 1402 <a href="https://blog.goemans.com/" class="header__menu-newsitem"> 1403 <h5>BLOG POSTS</h5> 1404 <div class="header__menu-newsimage"> 1405 <img src="/../../media/6342/goemans_highlight_visuals_336x167px_blog-posts.jpg" alt="" loading="lazy" decoding="async"> 1406 </div> 1407 </a> 1408 </div> 1409 </div> 1410 <div class="header__menublock-wrapper "> 1411 <div class="header__menu-blockwrapp"> 1412 <div class="header__menu-segmentw"> 1413 <div class="header__menu-topic"> 1414 <a class="header__menu-title" href="/home/kitchen/home-essentials/specialty-products-cookware/">Specialty Products & Cookware</a> 1415 <ul class="header__topic-ul"> 1416 </ul> 1417 </div> 1418 <div class="header__menu-topic"> 1419 <a class="header__menu-title" href="/home/kitchen/home-essentials/counter-top-appliances/">Counter-Top Appliances</a> 1420 <ul class="header__topic-ul"> 1421 </ul> 1422 </div> 1423 <div class="header__menu-topic"> 1424 <a class="header__menu-title" href="/home/kitchen/home-essentials/vacuums/">Vacuums</a> 1425 <ul class="header__topic-ul"> 1426 </ul> 1427 </div> 1428 <div class="header__menu-topic"> 1429 <a class="header__menu-title" href="/home/kitchen/home-essentials/coffee/">Coffee</a> 1430 <ul class="header__topic-ul"> 1431 <li> 1432 <a href="/home/kitchen/home-essentials/coffee/built-in/"> 1433 Built-In 1434 </a> 1435 </li> 1436 <li> 1437 <a href="/home/kitchen/home-essentials/coffee/free-standing-coffee/"> 1438 Free-Standing Coffee 1439 </a> 1440 </li> 1441 </ul> 1442 </div> 1443 </div> 1444 1445 </div> 1446 1447 <div class="header__menu-newsblock"> 1448 <a href="https://www.goemans.com/home/promotions/?page=1&category=1612,4119" class="header__menu-newsitem"> 1449 <h5>Promotions</h5> 1450 <div class="header__menu-newsimage"> 1451 <img src="/../../media/6341/goemans_highlight_visuals_336x167px_promotions.jpg" alt="" loading="lazy" decoding="async"> 1452 </div> 1453 </a> 1454 <a href="https://blog.goemans.com/tag/small-appliances" class="header__menu-newsitem"> 1455 <h5>BLOG POSTS</h5> 1456 <div class="header__menu-newsimage"> 1457 <img src="/../../media/6342/goemans_highlight_visuals_336x167px_blog-posts.jpg" alt="" loading="lazy" decoding="async"> 1458 </div> 1459 </a> 1460 </div> 1461 </div> 1462 <div class="header__menublock-wrapper "> 1463 <div class="header__menu-blockwrapp"> 1464 <div class="header__menu-segmentw"> 1465 <div class="header__menu-topic"> 1466 <a class="header__menu-title" href="/home/kitchen/accessories/bbq/">Bbq</a> 1467 <ul class="header__topic-ul"> 1468 <li> 1469 <a href="/home/kitchen/accessories/bbq/bbq-accessories/"> 1470 Bbq Accessories 1471 </a> 1472 </li> 1473 <li> 1474 <a href="/home/kitchen/accessories/bbq/bbq-and-fireplace-parts/"> 1475 Bbq And Fireplace Parts 1476 </a> 1477 </li> 1478 <li> 1479 <a href="/home/kitchen/accessories/bbq/built-in/"> 1480 Built-In 1481 </a> 1482 </li> 1483 </ul> 1484 </div> 1485
1485 <div class="header__menu-topic"> 1486 <a class="header__menu-title" href="/home/kitchen/accessories/cooking/">Cooking</a> 1487 <ul class="header__topic-ul"> 1488 <li> 1489 <a href="/home/kitchen/accessories/cooking/range/"> 1490 Range 1491 </a> 1492 </li> 1493 <li> 1494 <a href="/home/kitchen/accessories/cooking/oven/"> 1495 Oven 1496 </a> 1497 </li> 1498 <li> 1499 <a href="/home/kitchen/accessories/cooking/microwave/"> 1500 Microwave 1501 </a> 1502 </li> 1503 <li> 1504 <a href="/home/kitchen/accessories/cooking/cooktop/"> 1505 Cooktop 1506 </a> 1507 </li> 1508 <li> 1509 <a href="/home/kitchen/accessories/cooking/pizza-oven/"> 1510 Pizza Oven 1511 </a> 1512 </li> 1513 <li> 1514 <a href="/home/kitchen/accessories/cooking/coffee/"> 1515 Coffee 1516 </a> 1517 </li> 1518 </ul> 1519 </div> 1520 <div class="header__menu-topic"> 1521 <a class="header__menu-title" href="/home/kitchen/accessories/refrigeration/">Refrigeration</a> 1522 <ul class="header__topic-ul"> 1523 <li> 1524 <a href="/home/kitchen/accessories/refrigeration/freestanding-fridge/"> 1525 Freestanding Fridge 1526 </a> 1527 </li> 1528 <li> 1529 <a href="/home/kitchen/accessories/refrigeration/under-counter/"> 1530 Under-Counter 1531 </a> 1532 </li> 1533 <li> 1534 <a href="/home/kitchen/accessories/refrigeration/filters/"> 1535 Filters 1536 </a> 1537 </li> 1538 <li> 1539 <a href="/home/kitchen/accessories/refrigeration/refrigeration-built-in/"> 1540 Refrigeration Built In 1541 </a> 1542 </li> 1543 </ul> 1544 </div> 1545 <div class="header__menu-topic"> 1546 <a class="header__menu-title" href="/home/kitchen/accessories/ventilation/">Ventilation</a> 1547 <ul class="header__topic-ul"> 1548 </ul> 1549 </div> 1550 <div class="header__menu-topic"> 1551 <a class="header__menu-title" href="/home/kitchen/accessories/laundry/">Laundry</a> 1552 <ul class="header__topic-ul"> 1553 <li> 1554 <a href="/home/kitchen/accessories/laundry/washerdryer/"> 1555 Washer/Dryer 1556 </a> 1557 </li> 1558 </ul> 1559 </div> 1560 <div class="header__menu-topic"> 1561 <a class="header__menu-title" href="/home/kitchen/accessories/dishwasher/">Dishwasher</a> 1562 <ul class="header__topic-ul"> 1563 </ul> 1564 </div> 1565 </div> 1566 1567 </div> 1568 1569 </div> 1570 <div class="header__menublock-wrapper "> 1571 <div class="header__menu-blockwrapp"> 1572 <div class="header__menu-segmentw"> 1573 </div> 1574 1575 <div class="header__menu-text"> 1576 <p><span style="font-size: 12pt;">Save now, save later and save the future. Browse our Eco friendly appliances which can not only slash your energy bills but greatly reduce the energy, water consumption and environmental impact of your household.</span><span style="font-size: 12pt;"></span></p> 1577<p>Â </p> 1578<p><span style="font-size: 12pt;">See our Energy Star selection here</span></p> 1579<p>Â </p> 1580<p><a href="/home/eco-appliances/" title="Eco Appliances"><span style="font-size: 12pt;"><img loading="lazy" decoding="async" style="width: 281px; height: 172px;" src="/../../media/5084/goe_eco_leaf_vector.png?width=281&height=172" alt=""></span></a></p> 1581<p><a href="/home/eco-appliances/" title="Eco Appliances"><img loading="lazy" decoding="async" style="width: 0px; height: 0px;" src="/../../media/5084/goe_eco_leaf_vector.png" alt=""></a></p> 1582 </div> 1583 </div> 1584 1585 </div> 1586 <div class="header__menublock-wrapper "> 1587 <div class="header__menu-blockwrapp"> 1588 <div class="header__menu-segmentw"> 1589 </div> 1590 1591 <div class="header__menu-text"> 1592 <p>Canada made, Canada proud. <a href="/home/made-in-canada/" title="MADE IN CA
1592NADA">Shop our Made in Canada items..</a>.</p> 1593<p>Â </p> 1594<p><img loading="lazy" decoding="async" style="width: 0px; height: 0px;" src="/../../media/9075/madeincanada-02.png" alt=""><a href="/home/made-in-canada/" title="MADE IN CANADA"><img loading="lazy" decoding="async" style="width: 186px; height: 183px; float: left;" src="/../../media/9075/madeincanada-02.png?width=186&height=183&mode=max" alt=""></a></p> 1595 </div> 1596 </div> 1597 1598 </div> 1599 <div class="header__menublock-wrapper "> 1600 <div class="header__menu-blockwrapp"> 1601 <div class="header__menu-segmentw"> 1602 </div> 1603 1604 <div class="header__menu-text"> 1605 <p><span>At Goemans Appliances, we believe a great grill is the heart of every exceptional outdoor kitchen. Thatâs why we recommend Grill Heroâtrusted experts in BBQ cleaning, maintenance, and repairâto help you protect your investment and enjoy flawless grilling, season after season.</span></p> 1606<p><span>Whether you're hosting a summer get-together or perfecting your backyard culinary game, a well-maintained grill delivers better performance, lasts longer, and looks as impressive as it cooks.</span></p> 1607<p><span>Â </span></p> 1608<p><span><strong><a href="/home/grill-hero/" title="Grill Hero">Learn more and book your premium BBQ cleaning or service today!</a></strong></span></p> 1609 </div> 1610 </div> 1611 1612 </div> 1613 <div class="header__menublock-wrapper "> 1614 <div class="header__menu-blockwrapp"> 1615 <div class="header__menu-segmentw"> 1616 </div> 1617 1618 <div class="header__menu-text"> 1619 <p><span>Shop our clearance and liquidation offers and enjoy exclusive savings on premium brands â with additional savings when you bundle.</span></p> 1620<p> </p> 1621<p><span><a href="/home/curated-clearance-luxury-appliances/" title="Curated Clearance Luxury Appliances"><img loading="lazy" decoding="async" style="width: 269px; height: 64px;" src="/../../media/9799/goe_basic_web_bttns_2025_view_detailspg.jpg?width=269&height=64&mode=max" alt=""></a></span></p> 1622 </div> 1623 </div> 1624 1625 </div> 1626 </div> 1627 </div> 1628 </div> 1629 </div> 1630 </li> 1631 1632 <li class="header__menu-li"> 1633 <a href="/home/brands/" class="header__menu-link">Brands</a> 1634 </li> 1635 <li class="header__menu-li"> 1636 <a href="/home/promotions/" class="header__menu-link">Promotions</a> 1637 </li> 1638 <li class="header__menu-li"> 1639 <a href="/home/locations/" class="header__menu-link">Locations</a> 1640 </li> 1641 1642 </ul> 1643 <ul class="header__menu-ul"> 1644 <li class="header__menu-li"> 1645 <a href="/home/track-your-delivery/" class="header__menu-link">TRACK YOUR DELIVERY</a> 1646 </li> 1647 <li class="header__menu-li"> 1648 <a href="/home/easy-pay/" class="header__menu-link">PAY AN INVOICE</a> 1649 </li> 1650 <li class="header__menu-li"> 1651 <a href="https://tgappliance.my.site.com/s/goemans-inquiry" class="header__menu-link">SUPPORT</a> 1652 </li> 1653 </ul> 1654 </div> 1655 <div class="header__call-block" style="display: none;"> 1656 <a href="https://www.goemans.com/home/easy-pay/">Pay An Invoice</a> 1657 <a href="/home/locations/">Click Here For Support</a> 1658 </div> 1659 </div> 1660</div> 1661 1662 </div> 1663 1664<div class="w"> 1665 1666<div class="pathBar"> 1667 <a href="/home/" class="pathBar__item">Home</a> 1668 <a href="/home/kitchen/home-essentials/" class="pathBar__item">Home Essentials</a> 1669 <a href="/home/kitchen/home-essentials/specialty-products-cookware/" class="pathBar__item">SPECIALTY PRODUCTS & COOKWARE</a> 1670</div> 1671 1672 1673<div class="text-2col" id="products-and-filters"> 1674 <div id="filters-container"> 1675 <div class="text-2col__side"> 1676 <div class="catalogue__filter-sorter-wrapper"> 1677 <div class="catalogue__filter-sorter-inner"> 1678 1679<p class="heading-s">Sort By</p> 1680<ul class="catalogue-sort"> 1681 <li> 1682 <a href="#" 1683 class="catalogue-sort__item catalogue-sort__item_savings btn-sort-savings selected" 1684 data-id="Savings" 1685 data-order="Descending"> 1686 Savings (High to Low) 1687 </a> 1688 </li> 1689 <li> 1690 <a href="#" 1691 class="catalogue-sort__item catalogue-sort__item_price btn-sort-price " 1692 data-id="Price" 1693 data-order="Ascending"> 1694Price (Low to High) </a> 1695 </li> 1696 1697</ul>
1698<script> 1699 function updateSortOptionsOnSortChange(aNode) { 1700 var previouslySelected = $(aNode).hasClass("selected"); 1701 1702 $("ul.catalogue-sort li a").removeClass("selected"); 1703 $(aNode).addClass("selected"); 1704 1705 if ($(aNode).data("id") == 'Savings') return; 1706 1707 if (previouslySelected) { 1708 if ($(aNode).data("order") == 'Ascending') { 1709 $(aNode).data("order", 'Descending'); 1710 } else { 1711 $(aNode).data("order", 'Ascending'); 1712 } 1713 } 1714 1715 if ($(aNode).hasClass("btn-sort-price")) { 1716 if ($(aNode).data("order") == 'Ascending') { 1717 $(aNode).html("Price (Low to High)"); 1718 } else { 1719 $(aNode).html("Price (High to Low)"); 1720 } 1721 } 1722 } 1723</script>
1723 1724 <p class="heading-s">Filter By</p> 1725 <ul class="catalogue-filter"> 1726 <li class="catalogue-filter__item"> 1727 1728<div id="category-filter-list" class="filters-group"> 1729 <div class="catalogue-filter__handler" > 1730 Category 1731 1732 </div> 1733 1734 <ul class="catalogue-filter__sub subcategory-filters-options"> 1735 <li class=""> 1736 <label class="checkbox catalogue-filter__sub-checkbox "> 1737 <input type="checkbox" value="425" />Specialty Cookware Specialty 1738 <span>(51)</span> 1739 </label> 1740 </li> 1741 </ul> 1742</div> 1743 </li> 1744 <li class="catalogue-filter__item"> 1745 1746<div id="brand-filter-list" class="filters-group"> 1747 <div class="catalogue-filter__handler" > 1748 Brand 1749 1750 </div> 1751 1752 <ul class="catalogue-filter__sub subcategory-filters-options"> 1753 <li class=""> 1754 <label class="checkbox catalogue-filter__sub-checkbox "> 1755 <input type="checkbox" value="5" />Asko 1756 <span>(2)</span> 1757 </label> 1758 </li> 1759 <li class=""> 1760 <label class="checkbox catalogue-filter__sub-checkbox "> 1761 <input type="checkbox" value="6" />Avanti 1762 <span>(5)</span> 1763 </label> 1764 </li> 1765 <li class=""> 1766 <label class="checkbox catalogue-filter__sub-checkbox "> 1767 <input type="checkbox" value="21" />Fisher & Paykel 1768 <span>(5)</span> 1769 </label> 1770 </li> 1771 <li class=""> 1772 <label class="checkbox catalogue-filter__sub-checkbox "> 1773 <input type="checkbox" value="137" />Frigidaire 1774 <span>(1)</span> 1775 </label> 1776 </li> 1777 <li class=""> 1778 <label class="checkbox catalogue-filter__sub-checkbox "> 1779 <input type="checkbox" value="29" />GE Appliances 1780 <span>(1)</span> 1781 </label> 1782 </li> 1783 <li class=""> 1784 <label class="checkbox catalogue-filter__sub-checkbox "> 1785 <input type="checkbox" value="124" />HAIER 1786 <span>(1)</span> 1787 </label> 1788 </li> 1789 <li class="hidden"> 1790 <label class="checkbox catalogue-filter__sub-checkbox "> 1791 <input type="checkbox" value="107" />La Cornue 1792 <span>(1)</span> 1793 </label> 1794 </li> 1795 <li class="hidden"> 1796 <label class="checkbox catalogue-filter__sub-checkbox "> 1797 <input type="checkbox" value="41" />Marvel 1798 <span>(4)</span> 1799 </label> 1800 </li> 1801 <li class="hidden"> 1802 <label class="checkbox catalogue-filter__sub-checkbox "> 1803 <input type="checkbox" value="114" />MONOGRAM 1804 <span>(1)</span> 1805 </label> 1806 </li> 1807 <li class="hidden"> 1808 <label class="checkbox catalogue-filter__sub-checkbox "> 1809 <input type="checkbox" value="179" />Thor Kitchen 1810 <span>(30)</span> 1811 </label> 1812 </li> 1813 </ul> 1814</div> 1815 </li> 1816 <li class="catalogue-filter__item"> 1817 1818<div id="color-filter-list" class="filters-group"> 1819 <div class="catalogue-filter__handler" > 1820 Color 1821 1822 </div> 1823 1824 <ul class="catalogue-filter__sub subcategory-filters-options"> 1825 <li class=""> 1826 <label class="checkbox catalogue-filter__sub-checkbox "> 1827 <input type="checkbox" value="4" />BLACK 1828 <span>(1)</span> 1829 </label> 1830 </li> 1831 <li class=""> 1832 <label class="checkbox catalogue-filter__sub-checkbox "> 1833 <input type="checkbox" value="87" />BLACK GLASS
1834 <span>(2)</span> 1835 </label> 1836 </li> 1837 <li class=""> 1838 <label class="checkbox catalogue-filter__sub-checkbox "> 1839 <input type="checkbox" value="614" />BRUSHED SILVER GLASS 1840 <span>(1)</span> 1841 </label> 1842 </li> 1843 <li class=""> 1844 <label class="checkbox catalogue-filter__sub-checkbox "> 1845 <input type="checkbox" value="615" />GREY GLASS 1846 <span>(1)</span> 1847 </label> 1848 </li> 1849 <li class=""> 1850 <label class="checkbox catalogue-filter__sub-checkbox "> 1851 <input type="checkbox" value="77" />PANEL READY 1852 <span>(5)</span> 1853 </label> 1854 </li> 1855 <li class=""> 1856 <label class="checkbox catalogue-filter__sub-checkbox "> 1857 <input type="checkbox" value="2" />STAINLESS STEEL 1858 <span>(7)</span> 1859 </label> 1860 </li> 1861 <li class="hidden"> 1862 <label class="checkbox catalogue-filter__sub-checkbox "> 1863 <input type="checkbox" value="1" />WHITE 1864 <span>(5)</span> 1865 </label> 1866 </li> 1867 </ul> 1868</div> 1869 </li> 1870 <li class="catalogue-filter__item"> 1871 1872<div id="price-filter-list" class="filters-group"> 1873 <div class="catalogue-filter__handler" > 1874 Price 1875 1876 </div> 1877 1878 <ul class="catalogue-filter__sub subcategory-filters-options"> 1879 <li class=""> 1880 <label class="checkbox catalogue-filter__sub-checkbox "> 1881 <input type="checkbox" value="1" />$0 - $1,000 1882 <span>(37)</span> 1883 </label> 1884 </li> 1885 <li class=""> 1886 <label class="checkbox catalogue-filter__sub-checkbox "> 1887 <input type="checkbox" value="2" />$1,000 - $2,000 1888 <span>(2)</span> 1889 </label> 1890 </li> 1891 <li class=""> 1892 <label class="checkbox catalogue-filter__sub-checkbox "> 1893 <input type="checkbox" value="5" />$4,000+ 1894 <span>(15)</span> 1895 </label> 1896 </li> 1897 </ul> 1898</div> 1899 </li> 1900 </ul> 1901 <div> 1902 <a href="#" class="btn btn_min reset-filters">Reset Filters</a> 1903 </div> 1904 <div class="catalogue__filter-sorter-btn"> 1905 <span class="btn btn_fill popup__ok-btn">Filter</span> 1906 </div> 1907 </div> 1908 </div> 1909 </div> 1910 </div> 1911 <div class="text-2col__article"> 1912 1913 <div class="grid-spinner-container" id="GridSpinner"> 1914 <div class="grid-spinner"></div> 1915 </div> 1916 <h1 class="heading-s">SPECIALTY PRODUCTS & COOKWARE</h1> 1917 <div id="products-list-container" class="catalogue__list catalogue__list_article"> 1918 1919 1920 1921<div class="catalogue__list-item" style="position: relative" data-name="184CM, VENTED, WHITE DRYING CABINET" data-price="4089" data-model-number="DC7784V.W" data-brand="Asko" data-color="" data-same-day-delivery="False" data-energy-saving-rebate="False" data-category="SPECIALTY PRODUCTS & COOKWARE"> 1922 <div class="catalogue__item"> 1923 <div style="top: 0;position: absolute"> 1924 1925 <a style="display: block"><img src="/../../media/3642/goe_eco_leaf_white-vector.png?width=80" /></a> 1926 1927 </div> 1928 <div class="catalogue__item-top"> 1929 <ul class="catalogue__item-cta"> 1930 <li> 1931 <span class="catalogue__item-cta-item catalogue__item-cta-item_wishlist _active add-to-wishlist" data-id="pd-DC7784V.W">Add to Wishlist</span> 1932 <span class="catalogue__item-cta-text">Add to Wishlist</span> 1933 </li> 1934 <li>
1935 <span class="catalogue__item-cta-item catalogue__item-cta-item_compare _active add-to-comparelist" data-id="pd-DC7784V.W">Compare</span> 1936 <span class="catalogue__item-cta-text">Add to Compare</span> 1937 </li> 1938 </ul> 1939 <a class="js-main-product-url" href="/home/kitchen/home-essentials/specialty-products-cookware/asko-DC7784V-W"> 1940 <div class="catalogue__item-image"> 1941 <img src="https://static18.asko.com/imagelib/magnify/mabagor/daac9e77d518d3ce5960d838717f8a9b_121932_1.png?imgeng=/w_333&mode=max?width=300&height=300" alt="184CM, VENTED, WHITE DRYING CABINET" width="300" height="300"> 1942 </div> 1943 1944 1945 <h2 class="catalogue__item-heading">184CM, VENTED, WHITE DRYING CABINET</h2> 1946 </a> 1947 <div id="category-snippet-61713"></div> 1948 </div> 1949 <a class="catalogue__item-model" href="/home/kitchen/home-essentials/specialty-products-cookware/asko-DC7784V-W"> 1950 Asko DC7784V.W 1951 </a> 1952 <p class="catalogue__item-location"></p> 1953 <p class="catalogue__item-location"> 1954 1955 </p> 1956 1957 1958 <p class="catalogue__item-price"> 1959 <span class="catalogue__item-sale-price">$4,089</span> 1960 </p> 1961 <p class="catalogue__item-cart"><a id="RequestQuote71077" href="#" class="btn btn_min quote" data-model-number="DC7784V.W">Contact a store</a></p> 1962 </div> 1963</div> 1964<div class="catalogue__list-item" style="position: relative" data-name="24-in Built-in Dispenser with Twin Wine & Beverage Tap with Door Style - Panel Ready, Dispenser Type - Twin Wine" data-price="5619" data-model-number="MLKR224-ISD1A" data-brand="Marvel" data-color="PANEL READY" data-same-day-delivery="False" data-energy-saving-rebate="False" data-category="SPECIALTY PRODUCTS & COOKWARE"> 1965 <div class="catalogue__item"> 1966 <div style="top: 0;position: absolute"> 1967 1968 1969 </div> 1970 <div class="catalogue__item-top"> 1971 <ul class="catalogue__item-cta"> 1972 <li> 1973 <span class="catalogue__item-cta-item catalogue__item-cta-item_wishlist _active add-to-wishlist" data-id="pd-MLKR224-ISD1A">Add to Wishlist</span> 1974 <span class="catalogue__item-cta-text">Add to Wishlist</span> 1975 </li> 1976 <li> 1977 <span class="catalogue__item-cta-item catalogue__item-cta-item_compare _active add-to-comparelist" data-id="pd-MLKR224-ISD1A">Compare</span> 1978 <span class="catalogue__item-cta-text">Add to Compare</span> 1979 </li> 1980 </ul> 1981 <a class="js-main-product-url" href="/home/kitchen/home-essentials/specialty-products-cookware/marvel-MLKR224-ISD1A"> 1982 <div class="catalogue__item-image"> 1983 <img src="https://images.webfronts.com/cache/frfzfmddtmkm.jpg?imgeng=/w_333&mode=max?width=300&height=300" alt="24-in Built-in Dispenser with Twin Wine & Beverage Tap with Door Style - Panel Ready, Dispenser Type - Twin Wine" width="300" height="300"> 1984 </div> 1985 1986 1987 <h2 class="catalogue__item-heading">24-in Built-in Dispenser with Twin Wine & Beverage Tap with Door Style - Panel Ready, Dispenser Type - Twin Wine</h2> 1988 </a> 1989 <div id="category-snippet-66939"></div> 1990 </div> 1991 <a class="catalogue__item-model" href="/home/kitchen/home-essentials/specialty-products-cookware/marvel-MLKR224-ISD1A"> 1992 Marvel MLKR224-ISD1A 1993 </a> 1994 <p class="catalogue__item-location"></p> 1995 <p class="catalogue__item-location"> 1996 1997 </p> 1998 1999 <a href="/home/kitchen/home-essentials/specialty-products-cookware/marvel-MLKR224-ISD1A" class="catalogue__item-morecolor"> 2000 More colors available 2001 </a> 2002 2003 <p class="catalogue__item-price"> 2004 <span class="catalogue__item-sale-price">$5,619 - $5,809</span> 2005 </p> 2006 <p class="catalogue__item-cart"><a id="RequestQuote76842" href="#" class="btn btn_min quote" data-model-number="MLKR224-ISD1A">Contact a store</a></p> 2007 </div> 2008</div> 2009<div class="catalogue__list-item" style="position: relative" data-name="24-in Built-in Dispenser with Single Wine & Beverage Tap with Door Style - Panel Ready, Dispenser Type - Single Wine" data-price="4729" data-model-number="MLKR224-ISC1A" data-brand="Marvel" data-color="PANEL READY" data-same-day-delivery="False" data-energy-saving-rebate="False" data-category="SPECIALTY PRODUCTS & COOKWARE"> 2010 <div class="catalogue__item"> 2011 <div style="top: 0;position: absolute"> 2012 2013 2014 </div> 2015 <div class="catalogue__item-top"> 2016 <ul class="catalogue__item-cta"> 2017 <li>
2018 <span class="catalogue__item-cta-item catalogue__item-cta-item_wishlist _active add-to-wishlist" data-id="pd-MLKR224-ISC1A">Add to Wishlist</span> 2019 <span class="catalogue__item-cta-text">Add to Wishlist</span> 2020 </li> 2021 <li> 2022 <span class="catalogue__item-cta-item catalogue__item-cta-item_compare _active add-to-comparelist" data-id="pd-MLKR224-ISC1A">Compare</span> 2023 <span class="catalogue__item-cta-text">Add to Compare</span> 2024 </li> 2025 </ul> 2026 <a class="js-main-product-url" href="/home/kitchen/home-essentials/specialty-products-cookware/marvel-MLKR224-ISC1A"> 2027 <div class="catalogue__item-image"> 2028 <img src="https://images.webfronts.com/cache/frstgolvewnd.jpg?imgeng=/w_333&mode=max?width=300&height=300" alt="24-in Built-in Dispenser with Single Wine & Beverage Tap with Door Style - Panel Ready, Dispenser Type - Single Wine" width="300" height="300"> 2029 </div> 2030 2031 2032 <h2 class="catalogue__item-heading">24-in Built-in Dispenser with Single Wine & Beverage Tap with Door Style - Panel Ready, Dispenser Type - Single Wine</h2> 2033 </a> 2034 <div id="category-snippet-66938"></div> 2035 </div> 2036 <a class="catalogue__item-model" href="/home/kitchen/home-essentials/specialty-products-cookware/marvel-MLKR224-ISC1A"> 2037 Marvel MLKR224-ISC1A 2038 </a> 2039 <p class="catalogue__item-location"></p> 2040 <p class="catalogue__item-location"> 2041 2042 </p> 2043 2044 <a href="/home/kitchen/home-essentials/specialty-products-cookware/marvel-MLKR224-ISC1A" class="catalogue__item-morecolor"> 2045 More colors available 2046 </a> 2047 2048 <p class="catalogue__item-price"> 2049 <span class="catalogue__item-sale-price">$4,729 - $4,909</span> 2050 </p> 2051 <p class="catalogue__item-cart"><a id="RequestQuote76841" href="#" class="btn btn_min quote" data-model-number="MLKR224-ISC1A">Contact a store</a></p> 2052 </div> 2053</div> 2054<div class="catalogue__list-item" style="position: relative" data-name="24-in Built-in Dispenser with Twin Beer & Beverage Tap with Door Style - Panel Ready, Dispenser Type - Twin Beer" data-price="4579" data-model-number="MLKR224-ISB1A" data-brand="Marvel" data-color="PANEL READY" data-same-day-delivery="False" data-energy-saving-rebate="False" data-category="SPECIALTY PRODUCTS & COOKWARE"> 2055 <div class="catalogue__item"> 2056 <div style="top: 0;position: absolute"> 2057 2058 2059 </div> 2060 <div class="catalogue__item-top"> 2061 <ul class="catalogue__item-cta"> 2062 <li> 2063 <span class="catalogue__item-cta-item catalogue__item-cta-item_wishlist _active add-to-wishlist" data-id="pd-MLKR224-ISB1A">Add to Wishlist</span> 2064 <span class="catalogue__item-cta-text">Add to Wishlist</span> 2065 </li> 2066 <li> 2067 <span class="catalogue__item-cta-item catalogue__item-cta-item_compare _active add-to-comparelist" data-id="pd-MLKR224-ISB1A">Compare</span> 2068 <span class="catalogue__item-cta-text">Add to Compare</span> 2069 </li> 2070 </ul> 2071 <a class="js-main-product-url" href="/home/kitchen/home-essentials/specialty-products-cookware/marvel-MLKR224-ISB1A"> 2072 <div class="catalogue__item-image"> 2073 <img src="https://images.webfronts.com/cache/frxkcehktjzy.jpg?imgeng=/w_333&mode=max?width=300&height=300" alt="24-in Built-in Dispenser with Twin Beer & Beverage Tap with Door Style - Panel Ready, Dispenser Type - Twin Beer" width="300" height="300" loading="lazy" decoding="async"> 2074 </div> 2075 2076 2077 <h2 class="catalogue__item-heading">24-in Built-in Dispenser with Twin Beer & Beverage Tap with Door Style - Panel Ready, Dispenser Type - Twin Beer</h2> 2078 </a> 2079 <div id="category-snippet-66937"></div> 2080 </div> 2081 <a class="catalogue__item-model" href="/home/kitchen/home-essentials/specialty-products-cookware/marvel-MLKR224-ISB1A"> 2082 Marvel MLKR224-ISB1A 2083 </a> 2084 <p class="catalogue__item-location"></p> 2085 <p class="catalogue__item-location"> 2086 2087 </p> 2088 2089 <a href="/home/kitchen/home-essentials/specialty-products-cookware/marvel-MLKR224-ISB1A" class="catalogue__item-morecolor"> 2090 More colors available 2091 </a> 2092 2093 <p class="catalogue__item-price">
2094 <span class="catalogue__item-sale-price">$4,579 - $4,759</span> 2095 </p> 2096 <p class="catalogue__item-cart"><a id="RequestQuote76840" href="#" class="btn btn_min quote" data-model-number="MLKR224-ISB1A">Contact a store</a></p> 2097 </div> 2098</div> 2099<div class="catalogue__list-item" style="position: relative" data-name="24-in Built-in Dispenser with Single Beer & Beverage Tap with Door Style - Panel Ready, Dispenser Type - Single Beer" data-price="4199" data-model-number="MLKR224-ISA1A" data-brand="Marvel" data-color="PANEL READY" data-same-day-delivery="False" data-energy-saving-rebate="False" data-category="SPECIALTY PRODUCTS & COOKWARE"> 2100 <div class="catalogue__item"> 2101 <div style="top: 0;position: absolute"> 2102 2103 2104 </div> 2105 <div class="catalogue__item-top"> 2106 <ul class="catalogue__item-cta"> 2107 <li> 2108 <span class="catalogue__item-cta-item catalogue__item-cta-item_wishlist _active add-to-wishlist" data-id="pd-MLKR224-ISA1A">Add to Wishlist</span> 2109 <span class="catalogue__item-cta-text">Add to Wishlist</span> 2110 </li> 2111 <li> 2112 <span class="catalogue__item-cta-item catalogue__item-cta-item_compare _active add-to-comparelist" data-id="pd-MLKR224-ISA1A">Compare</span> 2113 <span class="catalogue__item-cta-text">Add to Compare</span> 2114 </li> 2115 </ul> 2116 <a class="js-main-product-url" href="/home/kitchen/home-essentials/specialty-products-cookware/marvel-MLKR224-ISA1A"> 2117 <div class="catalogue__item-image"> 2118 <img src="https://images.webfronts.com/cache/frcreezbhfbl.jpg?imgeng=/w_333&mode=max?width=300&height=300" alt="24-in Built-in Dispenser with Single Beer & Beverage Tap with Door Style - Panel Ready, Dispenser Type - Single Beer" width="300" height="300" loading="lazy" decoding="async"> 2119 </div> 2120 2121 2122 <h2 class="catalogue__item-heading">24-in Built-in Dispenser with Single Beer & Beverage Tap with Door Style - Panel Ready, Dispenser Type - Single Beer</h2> 2123 </a> 2124 <div id="category-snippet-66936"></div> 2125 </div> 2126 <a class="catalogue__item-model" href="/home/kitchen/home-essentials/specialty-products-cookware/marvel-MLKR224-ISA1A"> 2127 Marvel MLKR224-ISA1A 2128 </a> 2129 <p class="catalogue__item-location"></p> 2130 <p class="catalogue__item-location"> 2131 2132 </p> 2133 2134 <a href="/home/kitchen/home-essentials/specialty-products-cookware/marvel-MLKR224-ISA1A" class="catalogue__item-morecolor"> 2135 More colors available 2136 </a> 2137 2138 <p class="catalogue__item-price"> 2139 <span class="catalogue__item-sale-price">$4,199 - $4,389</span> 2140 </p> 2141 <p class="catalogue__item-cart"><a id="RequestQuote76839" href="#" class="btn btn_min quote" data-model-number="MLKR224-ISA1A">Contact a store</a></p> 2142 </div> 2143</div> 2144<div class="catalogue__list-item" style="position: relative" data-name="GE 10,000 BTU Portable Air Conditioner White- APCA10YBMW" data-price="399" data-model-number="APCA10YBMW" data-brand="GE Appliances" data-color="WHITE" data-same-day-delivery="False" data-energy-saving-rebate="False" data-category="SPECIALTY PRODUCTS & COOKWARE"> 2145 <div class="catalogue__item"> 2146 <div style="top: 0;position: absolute"> 2147 2148 2149 </div> 2150 <div class="catalogue__item-top"> 2151 <ul class="catalogue__item-cta"> 2152 <li> 2153 <span class="catalogue__item-cta-item catalogue__item-cta-item_wishlist _active add-to-wishlist" data-id="pd-APCA10YBMW">Add to Wishlist</span> 2154 <span class="catalogue__item-cta-text">Add to Wishlist</span> 2155 </li> 2156 <li> 2157 <span class="catalogue__item-cta-item catalogue__item-cta-item_compare _active add-to-comparelist" data-id="pd-APCA10YBMW">Compare</span>
2158 <span class="catalogue__item-cta-text">Add to Compare</span> 2159 </li> 2160 </ul> 2161 <a class="js-main-product-url" href="/home/kitchen/home-essentials/specialty-products-cookware/ge-appliances-APCA10YBMW"> 2162 <div class="catalogue__item-image"> 2163 <img src="https://images.webfronts.com/cache/frbuxrhlskhw.jpg?imgeng=/w_333&mode=max?width=300&height=300" alt="GE 10,000 BTU Portable Air Conditioner White- APCA10YBMW" width="300" height="300" loading="lazy" decoding="async"> 2164 </div> 2165 2166 2167 <h2 class="catalogue__item-heading">GE 10,000 BTU Portable Air Conditioner White- APCA10YBMW</h2> 2168 </a> 2169 <div id="category-snippet-66266"></div> 2170 </div> 2171 <a class="catalogue__item-model" href="/home/kitchen/home-essentials/specialty-products-cookware/ge-appliances-APCA10YBMW"> 2172 GE Appliances APCA10YBMW 2173 </a> 2174 <p class="catalogue__item-location"></p> 2175 <p class="catalogue__item-location"> 2176 2177 </p> 2178 2179 2180 <div>SALE Ends September 30, 2026</div> 2181 <p class="catalogue__item-price"> 2182 <span class="catalogue__item-sale-price">$399</span> 2183 </p> 2184 <p class="catalogue__item-cart"><a id="RequestQuote75791" href="#" class="btn btn_min quote" data-model-number="APCA10YBMW">Contact a store</a></p> 2185 </div> 2186</div> 2187<div class="catalogue__list-item" style="position: relative" data-name="Haier 8,000 BTU Portable Air Conditioner for Small Rooms up to 150 sq ft. (5,300 BTU SACC)" data-price="479" data-model-number="QPFA08YBMW" data-brand="HAIER" data-color="WHITE" data-same-day-delivery="False" data-energy-saving-rebate="False" data-category="SPECIALTY PRODUCTS & COOKWARE"> 2188 <div class="catalogue__item"> 2189 <div style="top: 0;position: absolute"> 2190 2191 2192 </div> 2193 <div class="catalogue__item-top"> 2194 <ul class="catalogue__item-cta"> 2195 <li> 2196 <span class="catalogue__item-cta-item catalogue__item-cta-item_wishlist _active add-to-wishlist" data-id="pd-QPFA08YBMW">Add to Wishlist</span> 2197 <span class="catalogue__item-cta-text">Add to Wishlist</span> 2198 </li> 2199 <li> 2200 <span class="catalogue__item-cta-item catalogue__item-cta-item_compare _active add-to-comparelist" data-id="pd-QPFA08YBMW">Compare</span> 2201 <span class="catalogue__item-cta-text">Add to Compare</span> 2202 </li> 2203 </ul> 2204 <a class="js-main-product-url" href="/home/kitchen/home-essentials/specialty-products-cookware/haier-QPFA08YBMW"> 2205 <div class="catalogue__item-image"> 2206 <img src="https://images.webfronts.com/cache/frpcwqqlrlwt.jpg?imgeng=/w_333&mode=max?width=300&height=300" alt="Haier 8,000 BTU Portable Air Conditioner for Small Rooms up to 150 sq ft. (5,300 BTU SACC)" width="300" height="300" loading="lazy" decoding="async"> 2207 </div> 2208 2209 2210 <h2 class="catalogue__item-heading">Haier 8,000 BTU Portable Air Conditioner for Small Rooms up to 150 sq ft. (5,300 BTU SACC)</h2> 2211 </a> 2212 <div id="category-snippet-66272"></div> 2213 </div> 2214 <a class="catalogue__item-model" href="/home/kitchen/home-essentials/specialty-products-cookware/haier-QPFA08YBMW"> 2215 HAIER QPFA08YBMW 2216 </a> 2217 <p class="catalogue__item-location"></p> 2218 <p class="catalogue__item-location"> 2219 2220 </p> 2221 2222 2223 <div>SALE Ends September 30, 2026</div> 2224 <p class="catalogue__item-price"> 2225 <span class="catalogue__item-sale-price">$479</span> 2226 </p> 2227 <p class="catalogue__item-cart"><a id="RequestQuote75797" href="#" class="btn btn_min quote" data-model-number="QPFA08YBMW">Contact a store</a></p> 2228 </div> 2229</div> 2230<div class="catalogue__list-item" style="position: relative" data-name="Humidity container" data-price="219" data-model-number="881964" data-brand="Asko" data-color="" data-same-day-delivery="False" data-energy-saving-rebate="False" data-category="SPECIALTY PRODUCTS & COOKWARE"> 2231 <div class="catalogue__item"> 2232 <div style="top: 0;position: absolute"> 2233 2234 2235 </div> 2236 <div class="catalogue__item-top"> 2237 <ul class="catalogue__item-cta"> 2238 <li>
2239 <span class="catalogue__item-cta-item catalogue__item-cta-item_wishlist _active add-to-wishlist" data-id="pd-881964">Add to Wishlist</span> 2240 <span class="catalogue__item-cta-text">Add to Wishlist</span> 2241 </li> 2242 <li> 2243 <span class="catalogue__item-cta-item catalogue__item-cta-item_compare _active add-to-comparelist" data-id="pd-881964">Compare</span> 2244 <span class="catalogue__item-cta-text">Add to Compare</span> 2245 </li> 2246 </ul> 2247 <a class="js-main-product-url" href="/home/kitchen/home-essentials/specialty-products-cookware/asko-881964"> 2248 <div class="catalogue__item-image"> 2249 <img src="https://images.webfronts.com/cache/frpihswtbpez.png?imgeng=/w_333&mode=max?width=300&height=300" alt="Humidity container" width="300" height="300" loading="lazy" decoding="async"> 2250 </div> 2251 2252 2253 <h2 class="catalogue__item-heading">Humidity container</h2> 2254 </a> 2255 <div id="category-snippet-66902"></div> 2256 </div> 2257 <a class="catalogue__item-model" href="/home/kitchen/home-essentials/specialty-products-cookware/asko-881964"> 2258 Asko 881964 2259 </a> 2260 <p class="catalogue__item-location"></p> 2261 <p class="catalogue__item-location"> 2262 2263 </p> 2264 2265 2266 <p class="catalogue__item-price"> 2267 <span class="catalogue__item-sale-price">$219</span> 2268 </p> 2269 <p class="catalogue__item-cart"><a id="RequestQuote76803" href="#" class="btn btn_min quote" data-model-number="881964">Contact a store</a></p> 2270 </div> 2271</div> 2272<div class="catalogue__list-item" style="position: relative" data-name="Avanti 30" Compact Mini Kitchen, Stainless Steel Countertop, 2.2 cu. ft. Refrigerator, Two-Burner Electric Cooktop, Storage, in White (CK3016)" data-price="1799" data-model-number="CK3016" data-brand="Avanti" data-color="WHITE" data-same-day-delivery="False" data-energy-saving-rebate="False" data-category="SPECIALTY PRODUCTS & COOKWARE"> 2273 <div class="catalogue__item"> 2274 <div style="top: 0;position: absolute"> 2275 2276 2277 </div> 2278 <div class="catalogue__item-top"> 2279 <ul class="catalogue__item-cta"> 2280 <li> 2281 <span class="catalogue__item-cta-item catalogue__item-cta-item_wishlist _active add-to-wishlist" data-id="pd-CK3016">Add to Wishlist</span> 2282 <span class="catalogue__item-cta-text">Add to Wishlist</span> 2283 </li> 2284 <li> 2285 <span class="catalogue__item-cta-item catalogue__item-cta-item_compare _active add-to-comparelist" data-id="pd-CK3016">Compare</span> 2286 <span class="catalogue__item-cta-text">Add to Compare</span> 2287 </li> 2288 </ul> 2289 <a class="js-main-product-url" href="/home/kitchen/home-essentials/specialty-products-cookware/avanti-CK3016"> 2290 <div class="catalogue__item-image"> 2291 <img src="https://images.webfronts.com/cache/frcntupwjuax.jpg?imgeng=/w_333&mode=max?width=300&height=300" alt="Avanti 30" Compact Mini Kitchen, Stainless Steel Countertop, 2.2 cu. ft. Refrigerator, Two-Burner Electric Cooktop, Storage, in White (CK3016)" width="300" height="300" loading="lazy" decoding="async"> 2292 </div> 2293 2294 2295 <h2 class="catalogue__item-heading">Avanti 30" Compact Mini Kitchen, Stainless Steel Countertop, 2.2 cu. ft. Refrigerator, Two-Burner Electric Cooktop, Storage, in White (CK3016)</h2> 2296 </a> 2297 <div id="category-snippet-46465"></div> 2298 </div> 2299 <a class="catalogue__item-model" href="/home/kitchen/home-essentials/specialty-products-cookware/avanti-CK3016"> 2300 Avanti CK3016 2301 </a> 2302 <p class="catalogue__item-location"></p> 2303 <p class="catalogue__item-location"> 2304 2305 </p> 2306 2307 2308 <p class="catalogue__item-price catalogue__item-sale-price">$1,799</p> 2309 <p class="catalogue__item-cart"><a id="RequestQuote54473" href="#" class="btn btn_min quote" data-model-number="CK3016">Contact a store</a></p> 2310 </div> 2311</div> 2312<div class="catalogue__list-item" style="position: relative" data-name="Avanti Compact Miniature Kitchen, All-in-One 36" Cooking and Refrigeration Solution, 2.2 cu. ft. Refrigerator, Dual Electric Burners, Stainless Steel Countertop, Modern Storage, in White (CK3616)" data-price="1899" data-model-number="CK3616" data-brand="Avanti" data-color="WHITE" data-same-day-delivery="False" data-energy-saving-rebate="False" data-category="SPECIALTY PRODUCTS & COOKWARE"> 2313 <div class="catalogue__item"> 2314 <div style="top: 0;position: absolute"> 2315 2316 2317 </div> 2318 <div class="catalogue__item-top"> 2319 <ul class="catalogue__item-cta"> 2320 <li>
2321 <span class="catalogue__item-cta-item catalogue__item-cta-item_wishlist _active add-to-wishlist" data-id="pd-CK3616">Add to Wishlist</span> 2322 <span class="catalogue__item-cta-text">Add to Wishlist</span> 2323 </li> 2324 <li> 2325 <span class="catalogue__item-cta-item catalogue__item-cta-item_compare _active add-to-comparelist" data-id="pd-CK3616">Compare</span> 2326 <span class="catalogue__item-cta-text">Add to Compare</span> 2327 </li> 2328 </ul> 2329 <a class="js-main-product-url" href="/home/kitchen/home-essentials/specialty-products-cookware/avanti-CK3616"> 2330 <div class="catalogue__item-image"> 2331 <img src="https://images.webfronts.com/cache/frcmwcyilamc.jpg?imgeng=/w_333&mode=max?width=300&height=300" alt="Avanti Compact Miniature Kitchen, All-in-One 36" Cooking and Refrigeration Solution, 2.2 cu. ft. Refrigerator, Dual Electric Burners, Stainless Steel Countertop, Modern Storage, in White (CK3616)" width="300" height="300" loading="lazy" decoding="async"> 2332 </div> 2333 2334 2335 <h2 class="catalogue__item-heading">Avanti Compact Miniature Kitchen, All-in-One 36" Cooking and Refrigeration Solution, 2.2 cu. ft. Refrigerator, Dual Electric Burners, Stainless Steel Countertop, Modern Storage, in White (CK3616)</h2> 2336 </a> 2337 <div id="category-snippet-46466"></div> 2338 </div> 2339 <a class="catalogue__item-model" href="/home/kitchen/home-essentials/specialty-products-cookware/avanti-CK3616"> 2340 Avanti CK3616 2341 </a> 2342 <p class="catalogue__item-location"></p> 2343 <p class="catalogue__item-location"> 2344 2345 </p> 2346 2347 2348 <p class="catalogue__item-price catalogue__item-sale-price">$1,899</p> 2349 <p class="catalogue__item-cart"><a id="RequestQuote54474" href="#" class="btn btn_min quote" data-model-number="CK3616">Contact a store</a></p> 2350 </div> 2351</div> 2352<div class="catalogue__list-item" style="position: relative" data-name="Avanti 0.88 cu. ft. Programmable Room Safe, in Black (HRS88N1B)" data-price="299" data-model-number="HRS88N1B" data-brand="Avanti" data-color="BLACK" data-same-day-delivery="False" data-energy-saving-rebate="False" data-category="SPECIALTY PRODUCTS & COOKWARE"> 2353 <div class="catalogue__item"> 2354 <div style="top: 0;position: absolute"> 2355 2356 2357 </div> 2358 <div class="catalogue__item-top"> 2359 <ul class="catalogue__item-cta"> 2360 <li> 2361 <span class="catalogue__item-cta-item catalogue__item-cta-item_wishlist _active add-to-wishlist" data-id="pd-HRS88N1B">Add to Wishlist</span> 2362 <span class="catalogue__item-cta-text">Add to Wishlist</span> 2363 </li> 2364 <li> 2365 <span class="catalogue__item-cta-item catalogue__item-cta-item_compare _active add-to-comparelist" data-id="pd-HRS88N1B">Compare</span> 2366 <span class="catalogue__item-cta-text">Add to Compare</span> 2367 </li> 2368 </ul> 2369 <a class="js-main-product-url" href="/home/kitchen/home-essentials/specialty-products-cookware/avanti-HRS88N1B"> 2370 <div class="catalogue__item-image"> 2371 <img src="https://images.webfronts.com/cache/frsiseiclmbn.jpg?imgeng=/w_333&mode=max?width=300&height=300" alt="Avanti 0.88 cu. ft. Programmable Room Safe, in Black (HRS88N1B)" width="300" height="300" loading="lazy" decoding="async"> 2372 </div> 2373 2374 2375 <h2 class="catalogue__item-heading">Avanti 0.88 cu. ft. Programmable Room Safe, in Black (HRS88N1B)</h2> 2376 </a> 2377 <div id="category-snippet-49599"></div> 2378 </div> 2379 <a class="catalogue__item-model" href="/home/kitchen/home-essentials/specialty-products-cookware/avanti-HRS88N1B"> 2380 Avanti HRS88N1B 2381 </a> 2382 <p class="catalogue__item-location"></p> 2383 <p class="catalogue__item-location"> 2384 2385 </p> 2386 2387 2388 <p class="catalogue__item-price catalogue__item-sale-price">$299</p> 2389 <p class="catalogue__item-cart"><a id="RequestQuote57622" href="#" class="btn btn_min quote" data-model-number="HRS88N1B">Contact a store</a></p> 2390 </div> 2391</div> 2392<div class="catalogue__list-item" style="position: relative" data-name="Avanti Hot and Cold Water Dispenser, in White (WDHC770I0W)" data-price="249" data-model-number="WDHC770I0W" data-brand="Avanti" data-color="WHITE" data-same-day-delivery="False" data-energy-saving-rebate="False" data-category="SPECIALTY PRODUCTS & COOKWARE"> 2393 <div class="catalogue__item"> 2394 <div style="top: 0;position: absolute"> 2395 2396 <a style="display: block"><img src="/../../media/3642/goe_eco_leaf_white-vector.png?width=80" /></a> 2397 2398 </div> 2399 <div class="catalogue__item-top"> 2400 <ul class="catalogue__item-cta"> 2401 <li>
2402 <span class="catalogue__item-cta-item catalogue__item-cta-item_wishlist _active add-to-wishlist" data-id="pd-WDHC770I0W">Add to Wishlist</span> 2403 <span class="catalogue__item-cta-text">Add to Wishlist</span> 2404 </li> 2405 <li> 2406 <span class="catalogue__item-cta-item catalogue__item-cta-item_compare _active add-to-comparelist" data-id="pd-WDHC770I0W">Compare</span> 2407 <span class="catalogue__item-cta-text">Add to Compare</span> 2408 </li> 2409 </ul> 2410 <a class="js-main-product-url" href="/home/kitchen/home-essentials/specialty-products-cookware/avanti-WDHC770I0W"> 2411 <div class="catalogue__item-image"> 2412 <img src="https://images.webfronts.com/cache/frvbgrrdtfdo.jpg?imgeng=/w_333&mode=max?width=300&height=300" alt="Avanti Hot and Cold Water Dispenser, in White (WDHC770I0W)" width="300" height="300" loading="lazy" decoding="async"> 2413 </div> 2414 2415 2416 <h2 class="catalogue__item-heading">Avanti Hot and Cold Water Dispenser, in White (WDHC770I0W)</h2> 2417 </a> 2418 <div id="category-snippet-56926"></div> 2419 </div> 2420 <a class="catalogue__item-model" href="/home/kitchen/home-essentials/specialty-products-cookware/avanti-WDHC770I0W"> 2421 Avanti WDHC770I0W 2422 </a> 2423 <p class="catalogue__item-location"></p> 2424 <p class="catalogue__item-location"> 2425 2426 </p> 2427 2428 2429 <p class="catalogue__item-price catalogue__item-sale-price">$249</p> 2430 <p class="catalogue__item-cart"><a id="RequestQuote65521" href="#" class="btn btn_min quote" data-model-number="WDHC770I0W">Contact a store</a></p> 2431 </div> 2432</div><div class="text-center"> 2433 2434<div class="getPage"> 2435 <a class="getPage__link getPage__link--active number" href="?page=1" data-page="1">1</a> 2436 <a class="getPage__link number" href="?page=2" data-page="2">2</a> 2437 <a class="getPage__link number" href="?page=3" data-page="3">3</a> 2438 <a class="getPage__link number" href="?page=4" data-page="4">...</a> 2439 <a class="getPage__link number" href="?page=5" data-page="5">5</a> 2440 <a href="?page=2" data-page="2" class="getPage__link getPage__link--last next">></a> 2441</div> 2442 2443 2444 2445<div id="record-counter-container"> 2446 <div class="record-counter-index"> 2447 <span id="results-first-index">1</span> 2448 - 2449 <span id="results-last-index">12</span> 2450 <span id="results-total-results">of 51 results</span> 2451 </div> 2452 <div class="results-page-size"> 2453 <span>Page size</span> 2454 <select id="filters-and-products-record-counter"> 2455 <option value="12" selected>12</option> 2456 <option value="24">24</option> 2457 <option value="48">48</option> 2458 <option value="96">96</option> 2459 </select> 2460 </div> 2461</div> 2462</div> 2463
2464<script> 2465 function updateNextDayDeliverySortOption() { 2466 2467 $("ul.catalogue-sort a.btn-sort-next-day-delivery").css("display", "none"); 2468 } 2469</script>
vendor: 1 bytes, line 2469
2469
2470<script> 2471 window.tgDefer = window.tgDefer || function () { (tgDefer.q = tgDefer.q || []).push(arguments); }; 2472 tgDefer({ 2473 name: 'powerreviews-catalog', 2474 target: '[id^="category-snippet-"]', 2475 src: '//ui.powerreviews.com/stable/4.1/ui.js' 2476 }); 2477</script>
vendor: 1 bytes, line 2477
2477
2478<script> 2479 window.pwr = window.pwr || function () { 2480 (pwr.q = pwr.q || []).push(arguments); 2481 }; 2482 pwr("render", [ 2483 2484 { 2485 api_key: '6d097b93-7008-4279-828f-9f2ffcb0ebf6', 2486 locale: 'en_CA', 2487 merchant_group_id: '550179015', 2488 merchant_id: '720891434', 2489 page_id: 'DC7784V-W', 2490 review_wrapper_url: '/home/write-a-review/?pr_page_id=DC7784V-W', 2491 components: { 2492 CategorySnippet: 'category-snippet-61713' 2493 } 2494 }, 2495 2496 { 2497 api_key: '6d097b93-7008-4279-828f-9f2ffcb0ebf6', 2498 locale: 'en_CA', 2499 merchant_group_id: '550179015', 2500 merchant_id: '720891434', 2501 page_id: '66939', 2502 review_wrapper_url: '/home/write-a-review/?pr_page_id=66939', 2503 components: { 2504 CategorySnippet: 'category-snippet-66939' 2505 } 2506 }, 2507 2508 { 2509 api_key: '6d097b93-7008-4279-828f-9f2ffcb0ebf6', 2510 locale: 'en_CA', 2511 merchant_group_id: '550179015', 2512 merchant_id: '720891434', 2513 page_id: '66938', 2514 review_wrapper_url: '/home/write-a-review/?pr_page_id=66938', 2515 components: { 2516 CategorySnippet: 'category-snippet-66938' 2517 } 2518 }, 2519 2520 { 2521 api_key: '6d097b93-7008-4279-828f-9f2ffcb0ebf6', 2522 locale: 'en_CA', 2523 merchant_group_id: '550179015', 2524 merchant_id: '720891434', 2525 page_id: '66937', 2526 review_wrapper_url: '/home/write-a-review/?pr_page_id=66937', 2527 components: { 2528 CategorySnippet: 'category-snippet-66937' 2529 } 2530 }, 2531 2532 { 2533 api_key: '6d097b93-7008-4279-828f-9f2ffcb0ebf6', 2534 locale: 'en_CA', 2535 merchant_group_id: '550179015', 2536 merchant_id: '720891434', 2537 page_id: '66936', 2538 review_wrapper_url: '/home/write-a-review/?pr_page_id=66936', 2539 components: { 2540 CategorySnippet: 'category-snippet-66936' 2541 } 2542 }, 2543 2544 { 2545 api_key: '6d097b93-7008-4279-828f-9f2ffcb0ebf6', 2546 locale: 'en_CA', 2547 merchant_group_id: '550179015', 2548 merchant_id: '720891434', 2549 page_id: '66266', 2550 review_wrapper_url: '/home/write-a-review/?pr_page_id=66266', 2551 components: { 2552 CategorySnippet: 'category-snippet-66266' 2553 } 2554 }, 2555 2556 { 2557 api_key: '6d097b93-7008-4279-828f-9f2ffcb0ebf6', 2558 locale: 'en_CA', 2559 merchant_group_id: '550179015', 2560 merchant_id: '720891434', 2561 page_id: '66272', 2562 review_wrapper_url: '/home/write-a-review/?pr_page_id=66272', 2563 components: { 2564 CategorySnippet: 'category-snippet-66272' 2565 } 2566 }, 2567 2568 { 2569 api_key: '6d097b93-7008-4279-828f-9f2ffcb0ebf6', 2570 locale: 'en_CA', 2571 merchant_group_id: '550179015', 2572 merchant_id: '720891434', 2573 page_id: '881964', 2574 review_wrapper_url: '/home/write-a-review/?pr_page_id=881964', 2575 components: { 2576 CategorySnippet: 'category-snippet-66902' 2577 } 2578 }, 2579 2580 { 2581 api_key: '6d097b93-7008-4279-828f-9f2ffcb0ebf6', 2582 locale: 'en_CA', 2583 merchant_group_id: '550179015', 2584 merchant_id: '720891434', 2585 page_id: '46465', 2586 review_wrapper_url: '/home/write-a-review/?pr_page_id=46465', 2587 components: { 2588 CategorySnippet: 'category-snippet-46465' 2589 } 2590 }, 2591 2592 { 2593 api_key: '6d097b93-7008-4279-828f-9f2ffcb0ebf6', 2594 locale: 'en_CA', 2595 merchant_group_id: '550179015', 2596 merchant_id: '720891434', 2597 page_id: '46466', 2598 review_wrapper_url: '/home/write-a-review/?pr_page_id=46466', 2599 components: { 2600 CategorySnippet: 'category-snippet-46466' 2601 } 2602 }, 2603 2604 {
2605 api_key: '6d097b93-7008-4279-828f-9f2ffcb0ebf6', 2606 locale: 'en_CA', 2607 merchant_group_id: '550179015', 2608 merchant_id: '720891434', 2609 page_id: '49599', 2610 review_wrapper_url: '/home/write-a-review/?pr_page_id=49599', 2611 components: { 2612 CategorySnippet: 'category-snippet-49599' 2613 } 2614 }, 2615 2616 { 2617 api_key: '6d097b93-7008-4279-828f-9f2ffcb0ebf6', 2618 locale: 'en_CA', 2619 merchant_group_id: '550179015', 2620 merchant_id: '720891434', 2621 page_id: '56926', 2622 review_wrapper_url: '/home/write-a-review/?pr_page_id=56926', 2623 components: { 2624 CategorySnippet: 'category-snippet-56926' 2625 } 2626 }, 2627 ]); 2628</script>
2628 2629 </div> 2630 </div> 2631</div> 2632</div> 2633 2634 2635 2636 2637 2638 <footer class="footer" id="footerAddress"> 2639 <div class="footer__newsletter"> 2640 <h2 class="heading-s footer__newsletter-heading">Newsletter</h2> 2641 <form id="newsletter-form" action="/umbraco/surface/subscriptionapi/SubscribeToNewsletter" method="post" class="validate footer__newsletter-form" target="_blank" novalidate> 2642 <input type="hidden" id="newsletter-form-captcha-token" name="token" /> 2643 <input type="hidden" value="7750" name="rootContentId" /> 2644 <p class="footer__newsletter-form-input"> 2645 <input type="email" name="EMAIL" id="mce-EMAIL" class="footer__newsletter-input" placeholder="Enter your email for the latest news and offers" required> 2646 <span class="footer__newsletter-error-text"></span> 2647 </p> 2648 <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b8ia0zic88a7z120cxk" tabindex="-1" value=""></div> 2649 <p class="footer__newsletter-form-input"> 2650 <button id="newsletter-button" type="button" onclick="subscribeToNewsletter()" class="btn">Submit</button> 2651 </p> 2652 <div class="popup-content footer__newsletter-popup"> 2653 <div class="newsletter-popup" data-class="popup-message"> 2654 <div class="newsletter-popup__heading">Congratulations!</div> 2655 <div class="newsletter-popup__body">You are now part of Goemans Appliances' super-informative, delightfully entertaining and non-overbearing e-mail program. We'll send you e-mails from time to time when we've got great deals to share, important news to tell or if our e-mail programmer gets bored... just kidding. You can unsubscribe at any time, but we're happy to tumble around in your inbox until you need us. Talk soon!</div> 2656 <div class="newsletter-popup__ok popup__ok-btn"><span class="btn btn_min">OK</span></div> 2657 </div> 2658 </div> 2659 </form> 2660 <div class="recaptcha-popup" style="display: none;"> 2661 <div class="g-recaptcha" id="news-letter-recaptcha" data-sitekey=""></div> 2662 </div> 2663 </div> 2664 <div class="footer__help"> 2665 <strong class="footer__help-phone"><a href="https://tgappliance.my.site.com/s/goemans-inquiry">Need help? Click here and let us help you.</a></strong> 2666 2667 </div> 2668 2669 2670 2671 2672<div class="footer__media"> 2673 <div class="w"> 2674 <div class="footer__media-inner"> 2675 <a href="/" class="footer__media-logo"><img src="/media/025h3wee/goemans-logo-red-with-tagline-and-canadiana.png"></a> 2676 <div class="footer__media-block"> 2677 <a href="https://www.facebook.com/GoemansAppliances/" target="_blank" class="footer__media-item"><i class="fa-brands fa-facebook-f"></i></a> 2678 <a href="https://www.instagram.com/goemans_appliances/?hl=en" target="_blank" class="footer__media-item"><i class="fa-brands fa-instagram"></i></a> 2679 <a href="https://www.youtube.com/@Goemans" target="_blank" class="footer__media-item"><i class="fa-brands fa-youtube"></i></a> 2680 </div> 2681 </div> 2682 </div> 2683</div> 2684<div class="footer__inner"> 2685 <div class="w"> 2686 <div class="footer__menu-blocks"> 2687 <div class="footer__menu-block"> 2688 <div class="footer__menu-icon"><img src="/../../media/6235/img-1.png" alt=""></div> 2689 <ul class="footer__menu-nav"> 2690 <li class="footer__menu-item"><div class="footer__menu-div">About the company</div></li> 2691 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/about-us/our-story/">About Us</a></li> 2692 <li class="footer__menu-item"><a class="footer__menu-link" href="/aoda-integrated-accessibility-standards-policy/">AODA Integrated Accessibility Standards Policy</a></li> 2693 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/goemans-faq/">FAQ</a></li> 2694 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/terms-and-conditions/">Terms and Conditions</a></li> 2695 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/privacy-policy/">Privacy Policy</a></li> 2696 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/payments-fraud-detection/">Payments & Fraud Detection</a></li> 2697 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/about-us/price-match/">Price Match</a></li> 2698 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/about-us/philanthrophy/">Philanthropy</a></li> 2699 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/about-us/careers/">Careers</a></li> 2700 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/locations/">Contact Us</a></li> 2701 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/locations/">Locations</a></li> 2702 </ul> 2703 </div> 2704 <div class="footer__menu-block"> 2705 <div class="footer__menu-icon"><img src="/../../media/6236/img-2.png" alt=""></div> 2706 <ul class="footer__menu-nav"> 2707 <li class="footer__menu-item"><div class="footer__menu-div">Support & Services</div></li> 2708 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/about-us/financing/">Financing</a></li> 2709 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/about-us/tell-us-how-we-did/">Tell Us How We Did</a></li> 2710 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/precision-delivery-and-pick-ups/">Precision Delivery and Pick-Ups</a></li> 2711 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/about-us/cooperative-returns-exchanges/">Co-operative Returns & Exchanges</a></li> 2712 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/about-us/installation-detail
2712s-and-information/">Installation</a></li> 2713 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/about-us/warranty/">Service Protection Plan</a></li> 2714 <li class="footer__menu-item"><a class="footer__menu-link" href="/tariff-statement/">Goemans Tariff Statement </a></li> 2715 <li class="footer__menu-item"><a class="footer__menu-link" href="/manufacturer-recall-announcements/">Manufacturer Recall Announcements</a></li> 2716 </ul> 2717 </div> 2718 <div class="footer__menu-block"> 2719 <div class="footer__menu-icon"><img src="/../../media/6237/img-3.png" alt=""></div> 2720 <ul class="footer__menu-nav"> 2721 <li class="footer__menu-item"><div class="footer__menu-div">Explore</div></li> 2722 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/promotions/">Promotion</a></li> 2723 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/liquidation/">Clearance</a></li> 2724 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/commercial-sales-builder/">Commercial Sales</a></li> 2725 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/designer-relations-designer/">Designer Relations</a></li> 2726 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/brands/">Brands</a></li> 2727 <li class="footer__menu-item"><a class="footer__menu-link" href="https://info.goemans.com/buyingguidepage">Buying Guides</a></li> 2728 <li class="footer__menu-item"><a class="footer__menu-link" href="/home/grill-hero/">Grill Hero</a></li> 2729 </ul> 2730 </div> 2731 <div class="footer__menu-block"> 2732 <div class="footer__menu-icon"><img src="/../../media/6238/img-4.png" alt=""></div> 2733 <ul class="footer__menu-nav"> 2734 <li class="footer__menu-item"><div class="footer__menu-div">Accounts</div></li> 2735 <li class="footer__menu-item"><a class="footer__menu-link" href="https://accountportal.goemans.com/loginpages/login/">Goemans Account</a></li> 2736 <li class="footer__menu-item"><a class="footer__menu-link" href="https://www.goemans.com/home/goemans-faq/">Goemans Account FAQ</a></li> 2737 <li class="footer__menu-item"><a class="footer__menu-link" href="https://info.goemans.com/inquiry_23">Goemans Account Help</a></li> 2738 </ul> 2739 </div> 2740 </div> 2741 </div> 2742</div> 2743 2744 </footer> 2745 </div> 2746 </div> 2747 2748 2749 <div id="add-to-cart-modal" class="catalogue__popup"> 2750 <div class="catalogue__popup-body"> 2751 2752 </div> 2753 </div> 2754 2755 2756 2757 2758<noindex> 2759 <div class="side-nav-back"></div> 2760 <div class="side-nav _addBanner"> 2761 <div class="side-nav__header"> 2762 <div class="w"> 2763 <div class="header__advertising"> 2764 <p><a href="/home/in-stock/" title="In-Stock">CHECK OUT OUR IN STOCK SELECTION</a></p> 2765 </div> 2766 </div> 2767 </div> 2768 <div class="w"> 2769 <div class="side-nav__nav-wrapper"> 2770 <ul class="side-nav__nav-list"> 2771 <li class="side-nav__nav-li"> 2772 <div class="side-nav__nav-link"> 2773 <span class="side-nav__nav-span">Shop</span> 2774 </div> 2775 <ul class="side-nav__nav-sublist"> 2776 <li class="side-nav__nav-subli"> 2777 <div class="side-nav__nav-sublink">Good to Go (In-stock) </div> 2778 <div class="header__menu-segmentw"> 2779 <div class="header__menu-topics"> 2780 2781 <div class="header__menu-text"> 2782 <p><span style="font-size: 12pt;">Avoid delays and check out our 'Good to go' items for in-stock models with a next day delivery. </span></p> 2783<p> </p> 2784<p><img loading="lazy" decoding="async" style="width: 0px; height: 0px;" src="?width=0&height=0" alt=""><a href="/home/in-stock/" title="In-Stock"><img loading="lazy" decoding="async" style="width: 174px; height: 235px;" src="/../../media/9519/goe_good_to_go_promodillo.png?width=174&height=235&mode=max" alt=""></a></p> 2785 </div> 2786 </div> 2787 2788 </div> 2789 </li> 2790 <li class="side-nav__nav-subli"> 2791 <div class="side-nav__nav-sublink">Liquidation</div> 2792 <div class="header__menu-segmentw"> 2793 <div class="header__menu-topics"> 2794 2795 <div class="header__menu-text"> 2796 <p><span style="font-size: 12pt;">Closed Box or End of Line Products are products that have been discontinued or are no longer being produced, but still new and never opened. For this reason an additional discount may apply.</span></p> 2797<p> </p> 2798<p>
2798<a href="/home/liquidation/" title="Liquidation">New In-Box Here</a></p> 2799 </div> 2800 </div> 2801 2802 </div> 2803 </li> 2804 <li class="side-nav__nav-subli"> 2805 <div class="side-nav__nav-sublink">Clearance</div> 2806 <div class="header__menu-segmentw"> 2807 <div class="header__menu-topics"> 2808 2809 <div class="header__menu-text"> 2810 <p><span style="font-size: 12pt;">Open-box products are typically floor models or returned goods that have been inspected to make sure they work. You will be able to purchase them from individual store locations. Product varies from location to location.</span></p> 2811<p>Â </p> 2812<p>Â </p> 2813<p><a href="/home/open-box-clearance/" title="Open-In-Box">Open Box Here</a></p> 2814<p>Â </p> 2815 </div> 2816 </div> 2817 2818 </div> 2819 </li> 2820 <li class="side-nav__nav-subli"> 2821 <div class="side-nav__nav-sublink">Dishwasher</div> 2822 <div class="header__menu-segmentw"> 2823 <div class="header__menu-topics"> 2824 <div class="header__menu-topic"> 2825 <a class="header__menu-title" href="/home/kitchen/dishwasher/front-control/">Front Control</a> 2826 <ul class="header__topic-ul"> 2827 </ul> 2828 </div> 2829 <div class="header__menu-topic"> 2830 <a class="header__menu-title" href="/home/kitchen/dishwasher/top-control/">Top Control</a> 2831 <ul class="header__topic-ul"> 2832 </ul> 2833 </div> 2834 <div class="header__menu-topic"> 2835 <a class="header__menu-title" href="/home/kitchen/dishwasher/integrated-panel/">Integrated Panel</a> 2836 <ul class="header__topic-ul"> 2837 </ul> 2838 </div> 2839 <div class="header__menu-topic"> 2840 <a class="header__menu-title" href="/home/kitchen/dishwasher/drawer/">Drawer</a> 2841 <ul class="header__topic-ul"> 2842 </ul> 2843 </div> 2844 <div class="header__menu-topic"> 2845 <a class="header__menu-title" href="/home/kitchen/dishwasher/portable/">Portable</a> 2846 <ul class="header__topic-ul"> 2847 </ul> 2848 </div> 2849 <div class="header__menu-topic"> 2850 <a class="header__menu-title" href="/home/kitchen/dishwasher/dishwasher-accessories/">Dishwasher Accessories</a> 2851 <ul class="header__topic-ul"> 2852 </ul> 2853 </div> 2854 2855 </div> 2856 2857 <div class="header__menu-newsblock"> 2858 <a href="https://www.goemans.com/home/promotions/?page=1&category=2832,2831,1712,1232,1611" class="header__menu-newsitem"> 2859 <h5>Promotions</h5> 2860 <div class="header__menu-newsimage"> 2861 <img src="/../../media/6341/goemans_highlight_visuals_336x167px_promotions.jpg" alt="" loading="lazy" decoding="async"> 2862 </div> 2863 </a> 2864 <a href="https://blog.goemans.com/tag/dishwasher" class="header__menu-newsitem"> 2865 <h5>BLOG POSTS</h5> 2866 <div class="header__menu-newsimage"> 2867 <img src="/../../media/6342/goemans_highlight_visuals_336x167px_blog-posts.jpg" alt="" loading="lazy" decoding="async"> 2868 </div> 2869 </a> 2870 </div> 2871 </div> 2872 </li> 2873 <li class="side-nav__nav-subli"> 2874 <div class="side-nav__nav-sublink">Refrigeration</div> 2875 <div class="header__menu-segmentw"> 2876 <div class="header__menu-topics"> 2877 <div class="header__menu-topic"> 2878 <a class="header__menu-title" href="/home/kitchen/refrigeration/fridges/">Fridges</a> 2879 <ul class="header__topic-ul"> 2880 <li> 2881 2882 <a href="/home/kitchen/refrigeration/fridges/french-do
2882or/">French Door</a> 2883 </li> 2884 <li> 2885 2886 <a href="/home/kitchen/refrigeration/fridges/side-by-side/">Side-By-Side</a> 2887 </li> 2888 <li> 2889 2890 <a href="/home/kitchen/refrigeration/fridges/bottom-mount/">Bottom Mount</a> 2891 </li> 2892 <li> 2893 2894 <a href="/home/kitchen/refrigeration/fridges/top-mount/">Top Mount</a> 2895 </li> 2896 <li> 2897 2898 <a href="/home/kitchen/refrigeration/fridges/built-in/">Built In</a> 2899 </li> 2900 <li> 2901 2902 <a href="/home/kitchen/refrigeration/fridges/column/">Column</a> 2903 </li> 2904 <li> 2905 2906 <a href="/home/kitchen/refrigeration/fridges/under-counter/">Under Counter</a> 2907 </li> 2908 <li> 2909 2910 <a href="/home/kitchen/refrigeration/fridges/wine-cooler/">Wine Cooler</a> 2911 </li> 2912 <li> 2913 2914 <a href="/home/kitchen/refrigeration/fridges/wine-reserve/">Wine Reserve</a> 2915 </li> 2916 <li> 2917 2918 <a href="/home/kitchen/refrigeration/fridges/free-standing/">Free Standing</a> 2919 </li> 2920 <li> 2921 2922 <a href="/home/kitchen/refrigeration/fridges/counter-depth/">Counter Depth</a> 2923 </li> 2924 </ul> 2925 </div> 2926 <div class="header__menu-topic"> 2927 <a class="header__menu-title" href="/home/kitchen/refrigeration/freezer/">Freezer</a> 2928 <ul class="header__topic-ul"> 2929 <li> 2930 2931 <a href="/home/kitchen/refrigeration/freezer/chest/">Chest</a> 2932 </li> 2933 <li> 2934 2935 <a href="/home/kitchen/refrigeration/freezer/frost-free-upright/">Frost Free Upright</a> 2936 </li> 2937 <li> 2938 2939 <a href="/home/kitchen/refrigeration/freezer/manual-defrost-upright/">Manual Defrost Upright</a> 2940 </li> 2941 <li> 2942 2943 <a href="/home/kitchen/refrigeration/freezer/column/">Column</a> 2944 </li> 2945 <li> 2946 2947 <a href="/home/kitchen/refrigeration/freezer/ice-maker/">Ice Maker</a> 2948 </li> 2949 </ul> 2950 </div> 2951 <div class="header__menu-topic"> 2952 <a class="header__menu-title" href="/home/kitchen/refrigeration/dual-refrigeration-pairs/">Dual Refrigeration Pairs</a> 2953 <ul class="header__topic-ul"> 2954 </ul> 2955 </div> 2956 <div class="header__menu-topic"> 2957 <a class="header__menu-title" href="/home/kitchen/refrigeration/refrigeration-accessories/">Refrigeration Accessories</a> 2958 <ul class="header__topic-ul"> 2959 </ul> 2960 </div> 2961 2962 </div> 2963 2964 <div class="header__menu-newsblock"> 2965 <a href="https://www.goemans.com/home/promotions/?page=1&category=1611,1718,1238" class="header__menu-newsitem"> 2966 <h5>Promotions</h5> 2967 <div class="header__menu-newsimage"> 2968 <img src="/../../media/6341/goemans_highlight_visuals_336x167px_promotions.jpg" alt="" loading="lazy" decoding="async"> 2969 </div> 2970 </a> 2971 <a href="https://info.goemans.com/buyingguidepage?hs_preview=UZxkDfZf-186921388443" class="header__menu-newsitem"> 2972 <h5>BUYING GUIDES</h5> 2973 <div class="header__menu-newsimage"> 2974 <img src="/../../media/6340/goemans_highlight_visuals_336x167px_buying-guides.jpg" alt="" loading="lazy" decoding="async"> 2975 </div> 2976 </a> 2977 <a href="https://blog.goemans.com/tag/refrigeration" class="header__menu-newsitem"> 2978 <h5>BLOG POSTS</h5> 2979 <div class="header__menu-newsimage"> 2980 <img src="/../../media/6342/goemans_highlight_visuals_336x167px_blog-posts.jpg" alt="" loading="lazy" decoding="async"> 2981 </div> 2982 </a> 2983 </div> 2984 </div> 2985 </li> 2986 <li class="side-nav__nav-subli"> 2987 <div class="side-nav__nav-sublink">Cooking</div> 2988 <div class="header__menu-segmentw"> 2989 <div class="header__menu-topics"> 2990 <div class="header__menu-topic"> 2991 <a class="header__menu-title" href="/home/kitchen/cooking/range/">Range</a> 2992 <ul class="header__topic-ul"> 2993 <li> 2994 2995 <a href="/home/kitchen/cooking/range/gas/">Gas</a> 2996 </li> 2997 <li> 2998 2999 <a href="/home/kitchen/cooking/range/electric/">Electric</a> 3000 </li> 3001 <li> 3002 3003 <a href="/home/kitchen/cooking/range/induction/">Induction</a> 3004 </li> 3005 <li> 3006 3007 <a href="/home/kitchen/cooking/range/dual-fuel/">Dual Fuel</a> 3008 </li> 3009 </ul> 3010 </div> 3011 <div class="header__menu-topic"> 3012 <a class="header__menu-title" href="/home/kitchen/cooking/cooktop/">Cooktop</a> 3013 <ul class="header__topic-ul"> 3014 <li> 3015 3016 <a href="/home/kitchen/cooking/cooktop/gas/">Gas</a> 3017 </li> 3018 <li> 3019 3020 <a href="/home/kitchen/cooking/cooktop/electric/">Electric</a> 3021 </li> 3022 <li> 3023 3024 <a href="/home/kitchen/cooking/cooktop/induction/">Induction</a> 3025 </li> 3026 </ul> 3027 </div> 3028 <div class="header__menu-topic"> 3029 <a class="header__menu-title" href="/home/kitchen/cooking/oven/">Oven</a> 3030 <ul class="header__topic-ul"> 3031 <li> 3032 3033 <a href="/home/kitchen/cooking/oven/steam/">Steam</a> 3034 </li> 3035 <li> 3036 3037 <a href="/home/kitchen/cooking/oven/speed/">Speed</a> 3038 </li> 3039 <li> 3040 3041 <a href="/home/kitchen/cooking/oven/double-wall-oven/">Double Wall Oven</a> 3042 </li> 3043 <li> 3044 3045 <a href="/home/kitchen/cooking/oven/combination-oven/">Combination Oven</a> 3046 </li> 3047 <li> 3048 3049 <a href="/home/kitchen/cooking/oven/single-wall-oven/">Single Wall Oven</a> 3050 </li> 3051 </ul> 3052 </div> 3053 <div class="header__menu-topic"> 3054 <a class="header__menu-title" href="/home/kitchen/cooking/ventilation/">Ventilation</a> 3055 <ul class="header__topic-ul"> 3056 <li> 3057 3058 <a href="/home/kitchen/cooking/ventilation/wall-mount/">Wall Mount</a> 3059 </li> 3060 <li> 3061 3062 <a href="/home/kitchen/cooking/ventilation/island-chimney/">Island Chimney</a> 3063 </li> 3064 <li> 3065 3066 <a href="/home/kitchen/cooking/ventilation/downdraft/">Downdraft</a> 3067 </li> 3068 <li> 3069 3070 <a href="/home/kitchen/cooking/ventilation/blower/">Blower</a> 3071 </li> 3072 <li> 3073 3074 <a href="/home/kitchen/cooking/ventilation/hood-inserts/">Hood Inserts</a> 3075 </li> 3076 <li> 3077 3078 <a href="/home/kitchen/cooking/ventilation/under-cabinet-ho
3078od/">Under Cabinet Hood</a> 3079 </li> 3080 </ul> 3081 </div> 3082 <div class="header__menu-topic"> 3083 <a class="header__menu-title" href="/home/kitchen/cooking/microwave/">Microwave</a> 3084 <ul class="header__topic-ul"> 3085 <li> 3086 3087 <a href="/home/kitchen/cooking/microwave/counter-top/">Counter-Top</a> 3088 </li> 3089 <li> 3090 3091 <a href="/home/kitchen/cooking/microwave/over-the-range/">Over-The-Range</a> 3092 </li> 3093 <li> 3094 3095 <a href="/home/kitchen/cooking/microwave/drawer/">Drawer</a> 3096 </li> 3097 <li> 3098 3099 <a href="/home/kitchen/cooking/microwave/built-in/">Built-In</a> 3100 </li> 3101 </ul> 3102 </div> 3103 <div class="header__menu-topic"> 3104 <a class="header__menu-title" href="/home/kitchen/cooking/warming-drawer/">Warming Drawer</a> 3105 <ul class="header__topic-ul"> 3106 <li> 3107 3108 <a href="/home/kitchen/cooking/warming-drawer/warming-drawer/">Warming Drawer</a> 3109 </li> 3110 </ul> 3111 </div> 3112 <div class="header__menu-topic"> 3113 <a class="header__menu-title" href="/home/kitchen/cooking/cooking-accessories/">Cooking Accessories</a> 3114 <ul class="header__topic-ul"> 3115 </ul> 3116 </div> 3117 3118 </div> 3119 3120 <div class="header__menu-newsblock"> 3121 <a href="https://www.goemans.com/home/promotions/?page=1&category=1652,1170,1653,1687,1693,2104,1699,2101,1611,1674,1681,1704" class="header__menu-newsitem"> 3122 <h5>Promotions</h5> 3123 <div class="header__menu-newsimage"> 3124 <img src="/../../media/6341/goemans_highlight_visuals_336x167px_promotions.jpg" alt="" loading="lazy" decoding="async"> 3125 </div> 3126 </a> 3127 <a href="https://info.goemans.com/buyingguidepage?hs_preview=UZxkDfZf-186921388443" class="header__menu-newsitem"> 3128 <h5>BUYING GUIDES</h5> 3129 <div class="header__menu-newsimage"> 3130 <img src="/../../media/6340/goemans_highlight_visuals_336x167px_buying-guides.jpg" alt="" loading="lazy" decoding="async"> 3131 </div> 3132 </a> 3133 <a href="https://blog.goemans.com/tag/cooking" class="header__menu-newsitem"> 3134 <h5>BLOG POSTS</h5> 3135 <div class="header__menu-newsimage"> 3136 <img src="/../../media/6342/goemans_highlight_visuals_336x167px_blog-posts.jpg" alt="" loading="lazy" decoding="async"> 3137 </div> 3138 </a> 3139 </div> 3140 </div> 3141 </li> 3142 <li class="side-nav__nav-subli"> 3143 <div class="side-nav__nav-sublink">Laundry</div> 3144 <div class="header__menu-segmentw"> 3145 <div class="header__menu-topics"> 3146 <div class="header__menu-topic"> 3147 <a class="header__menu-title" href="/home/laundry/washer/">Washer</a> 3148 <ul class="header__topic-ul"> 3149 <li> 3150 3151 <a href="/home/laundry/washer/top-load/">Top Load</a> 3152 </li> 3153 <li> 3154 3155 <a href="/home/laundry/washer/front-load/">Front Load</a> 3156 </li> 3157 </ul> 3158 </div> 3159 <div class="header__menu-topic"> 3160 <a class="header__menu-title" href="/home/laundry/dryer/">Dryer</a> 3161 <ul class="header__topic-ul"> 3162 <li> 3163 3164 <a href="/home/laundry/dryer/gas/">Gas</a> 3165 </li> 3166 <li> 3167 3168 <a href="/home/laundry/dryer/electric/">Electric</a> 3169 </li> 3170 <li> 3171 3172 <a href="/home/laundry/dryer/steam-closet/">Steam Closet</a> 3173 </li> 3174 </ul> 3175 </div> 3176 <div class="header__menu-topic"> 3177 <a class="header__menu-title" href="/home/laundry/washerdryer-combo/">Washer/Dryer Combo</a> 3178 <ul class="header__topic-ul"> 3179 </ul> 3180 </div> 3181 <div class="header__menu-topic"> 3182 <a class="header__menu-title" href="/home/laundry/pedestals/">Pedestals</a> 3183 <ul class="header__topic-ul"> 3184 </ul> 3185 </div> 3186 <div class="header__menu-topic"> 3187 <a class="header__menu-title" href="/home/laundry/laundry-accessories/">Laundry Accessories</a> 3188 <ul class="header__topic-ul"> 3189 </ul> 3190 </div> 3191 3192 </div> 3193 3194 <div class="header__menu-newsblock"> 3195 <a href="/home/promotions/?page=1&category=1611,1270" class="header__menu-newsitem"> 3196 <h5>Promotions</h5> 3197 <div class="header__menu-newsimage"> 3198 <img src="/../../media/6341/goemans_highlight_visuals_336x167px_promotions.jpg" alt="" loading="lazy" decoding="async"> 3199 </div> 3200 </a> 3201 <a href="https://info.goemans.com/buyingguidepage?hs_preview=UZxkDfZf-186921388443" class="header__menu-newsitem"> 3202 <h5>BUYING GUIDES</h5> 3203 <div class="header__menu-newsimage"> 3204 <img src="/../../media/6340/goemans_highlight_visuals_336x167px_buying-guides.jpg" alt="" loading="lazy" decoding="async"> 3205 </div> 3206 </a> 3207 <a href="https://www.goemans.com/home/promotions/?page=1&category=1751,1750,1628,1764" class="header__menu-newsitem"> 3208 <h5>Blog Posts</h5> 3209 <div class="header__menu-newsimage"> 3210 <img src="/../../media/6342/goemans_highlight_visuals_336x167px_blog-posts.jpg" alt="" loading="lazy" decoding="async"> 3211 </div> 3212 </a> 3213 </div> 3214 </div> 3215 </li> 3216 <li class="side-nav__nav-subli"> 3217 <div class="side-nav__nav-sublink">Packages</div> 3218 <div class="header__menu-segmentw"> 3219 <div class="header__menu-topics"> 3220 <div class="header__menu-topic"> 3221 <a class="header__menu-title" href="/home/packages/kitchen-packages/">Kitchen Packages</a> 3222 <ul class="header__topic-ul"> 3223 </ul> 3224 </div> 3225 <div class="header__menu-topic"> 3226 <a class="header__menu-title" href="/home/packages/laundry-packages/">Laundry Packages</a> 3227 <ul class="header__topic-ul"> 3228 </ul> 3229 </div> 3230 3231 <div class="header__menu-text"> 3232 <p><span>Take the guess work out of creating your dream kitchen/ laundry area.</span></p> 3233 </div> 3234 </div> 3235 3236 <div class="header__menu-newsblock"> 3237 <a href="/home/promotions/" class="header__menu-newsitem"> 3238 <h5>Promotions</h5> 3239 <div class="header__menu-newsimage"> 3240 <img src="/../../media/6341/goemans_highlight_visuals_336x167px_promotions.jpg" alt="" loading="lazy" decoding="async"> 3241 </div> 3242 </a> 3243 <a href="https://blog.goemans.com/" class="header__menu-newsitem"> 3244 <h5>BLOG POSTS</h5> 3245 <div class="header__menu-newsimage"> 3246 <img src="/../../media/6342/goemans_highlight_visuals_336x167px_blog-posts.jpg" alt="" loading="lazy" decoding="async"> 3247 </div> 3248 </a> 3249 </div> 3250 </div> 3251 </li> 3252 <li class="side-nav__nav-subli"> 3253 <div class="side-nav__nav-sublink">Outdoor</div> 3254 <div class="header__menu-segmentw"> 3255 <div class="header__menu-topics"> 3256 <div class="header__menu-topic"> 3257 <a class="header__menu-title" href="/home/kitchen/outdoor/freestanding-grills/">Freestanding Grills</a> 3258 <ul class="header__topic-ul"> 3259 <li> 3260 3261 <a href="/home/kitchen/outdoor/freestanding-grills/natural-gas/">Natural Gas</a> 3262 </li> 3263 <li> 3264 3265 <a href="/home/kitchen/outdoor/freestanding-grills/propane/">Propane</a> 3266 </li> 3267 <li> 3268 3269 <a href="/home/kitchen/outdoor/freestanding-grills/charcoal-pellet/">Charcoal / Pellet</a> 3270 </li> 3271 </ul> 3272 </div> 3273 <div class="header__menu-topic"> 3274 <a class="header__menu-title" href="/home/kitchen/outdoor/outdoor-kitchens/">Outdoor Kitchens</a> 3275 <ul class="header__topic-ul"> 3276 <li> 3277 3278 <a href="/home/kitchen/outdoor/outdoor-kitchens/natural-gas-built-in/">Natural Gas Built In</a> 3279 </li> 3280 <li> 3281 3282 <a href="/home/kitchen/outdoor/outdoor-kitchens/propane-built-in/">Propane Built In</a
3282> 3283 </li> 3284 <li> 3285 3286 <a href="/home/kitchen/outdoor/outdoor-kitchens/outdoor-kitchen-components/">Outdoor Kitchen Components</a> 3287 </li> 3288 <li> 3289 3290 <a href="/home/kitchen/outdoor/outdoor-kitchens/outdoor-refrigeration/">Outdoor Refrigeration</a> 3291 </li> 3292 <li> 3293 3294 <a href="/home/kitchen/outdoor/outdoor-kitchens/patio-heater/">Patio Heater</a> 3295 </li> 3296 <li> 3297 3298 <a href="/home/kitchen/outdoor/outdoor-kitchens/pizza-oven/">Pizza Oven</a> 3299 </li> 3300 </ul> 3301 </div> 3302 <div class="header__menu-topic"> 3303 <a class="header__menu-title" href="/home/kitchen/outdoor/outdoor-accessories/">Outdoor Accessories</a> 3304 <ul class="header__topic-ul"> 3305 </ul> 3306 </div> 3307 3308 </div> 3309 3310 <div class="header__menu-newsblock"> 3311 <a href="/home/promotions/?page=1&category=3101" class="header__menu-newsitem"> 3312 <h5>Promotions</h5> 3313 <div class="header__menu-newsimage"> 3314 <img src="/../../media/6341/goemans_highlight_visuals_336x167px_promotions.jpg" alt="" loading="lazy" decoding="async"> 3315 </div> 3316 </a> 3317 <a href="https://info.goemans.com/buyingguidepage?hs_preview=UZxkDfZf-186921388443" class="header__menu-newsitem"> 3318 <h5>BUYING GUIDES</h5> 3319 <div class="header__menu-newsimage"> 3320 <img src="/../../media/6340/goemans_highlight_visuals_336x167px_buying-guides.jpg" alt="" loading="lazy" decoding="async"> 3321 </div> 3322 </a> 3323 <a href="https://blog.goemans.com/" class="header__menu-newsitem"> 3324 <h5>BLOG POSTS</h5> 3325 <div class="header__menu-newsimage"> 3326 <img src="/../../media/6342/goemans_highlight_visuals_336x167px_blog-posts.jpg" alt="" loading="lazy" decoding="async"> 3327 </div> 3328 </a> 3329 </div> 3330 </div> 3331 </li> 3332 <li class="side-nav__nav-subli"> 3333 <div class="side-nav__nav-sublink">Home Essentials</div> 3334 <div class="header__menu-segmentw"> 3335 <div class="header__menu-topics"> 3336 <div class="header__menu-topic"> 3337 <a class="header__menu-title" href="/home/kitchen/home-essentials/specialty-products-cookware/">Specialty Products & Cookware</a> 3338 <ul class="header__topic-ul"> 3339 </ul> 3340 </div> 3341 <div class="header__menu-topic"> 3342 <a class="header__menu-title" href="/home/kitchen/home-essentials/counter-top-appliances/">Counter-Top Appliances</a> 3343 <ul class="header__topic-ul"> 3344 </ul> 3345 </div> 3346 <div class="header__menu-topic"> 3347 <a class="header__menu-title" href="/home/kitchen/home-essentials/vacuums/">Vacuums</a> 3348 <ul class="header__topic-ul"> 3349 </ul> 3350 </div> 3351 <div class="header__menu-topic"> 3352 <a class="header__menu-title" href="/home/kitchen/home-essentials/coffee/">Coffee</a> 3353 <ul class="header__topic-ul"> 3354 <li> 3355 3356 <a href="/home/kitchen/home-essentials/coffee/built-in/">Built-In</a> 3357 </li> 3358 <li> 3359 3360 <a href="/home/kitchen/home-essentials/coffee/free-standing-coffee/">Free-Standing Coffee</a> 3361 </li> 3362 </ul> 3363 </div> 3364 3365 </div> 3366 3367 <div class="header__menu-newsblock"> 3368 <a href="https://www.goemans.com/home/promotions/?page=1&category=1612,4119" class="header__menu-newsitem"> 3369 <h5>Promotions</h5> 3370 <div class="header__menu-newsimage"> 3371 <img src="/../../media/6341/goemans_highlight_visuals_336x167px_promotions.jpg" alt="" loading="lazy" decoding="async"> 3372 </div> 3373 </a> 3374 <a href="https://blog.goemans.com/tag/small-appliances" class="header__menu-newsitem"> 3375 <h5>BLOG POSTS</h5> 3376 <div class="header__menu-newsimage"> 3377 <img src="/../../media/6342/goemans_highlight_visuals_336x167px_blog-posts.jpg" alt="" loading="lazy" decoding="async"> 3378 </div> 3379 </a> 3380 </div> 3381 </div> 3382 </li> 3383 <li class="side-nav__nav-subli"> 3384 <div class="side-nav__nav-sublink">Accessories</div> 3385 <div class="header__menu-segmentw"> 3386 <div class="header__menu-topics"> 3387 <div class="header__menu-topic"> 3388 <a class="header__menu-title" href="/home/kitchen/accessories/bbq/">Bbq</a> 3389 <ul class="header__topic-ul"> 3390 <li> 3391 3392 <a href="/home/kitchen/accessories/bbq/bbq-accessories/">Bbq Accessories</a> 3393 </li> 3394 <li> 3395 3396 <a href="/home/kitchen/accessories/bbq/bbq-and-fireplace-parts/">Bbq And Fireplace Parts</a> 3397 </li> 3398 <li> 3399 3400 <a href="/home/kitchen/accessories/bbq/built-in/">Built-In</a> 3401 </li> 3402 </ul> 3403 </div> 3404 <div class="header__menu-topic"> 3405 <a class="header__menu-title" href="/home/kitchen/accessories/cooking/">Cooking</a> 3406 <ul class="header__topic-ul"> 3407 <li> 3408 3409 <a href="/home/kitchen/accessories/cooking/range/">Range</a> 3410 </li> 3411 <li> 3412 3413 <a href="/home/kitchen/accessories/cooking/oven/">Oven</a> 3414 </li> 3415 <li> 3416 3417 <a href="/home/kitchen/accessories/cooking/microwave/">Microwave</a> 3418 </li> 3419 <li> 3420 3421 <a href="/home/kitchen/accessories/cooking/cooktop/">Cooktop</a> 3422 </li> 3423 <li> 3424 3425 <a href="/home/kitchen/accessories/cooking/pizza-oven/">Pizza Oven</a> 3426 </li> 3427 <li> 3428 3429 <a href="/home/kitchen/accessories/cooking/coffee/">Coffee</a> 3430 </li> 3431 </ul> 3432 </div> 3433 <div class="header__menu-topic"> 3434 <a class="header__menu-title" href="/home/kitchen/accessories/refrigeration/">Refrigeration</a> 3435 <ul class="header__topic-ul"> 3436 <li> 3437 3438 <a href="/home/kitchen/accessories/refrigeration/freestanding-fridge/">Freestanding Fridge</a> 3439 </li> 3440 <li> 3441 3442 <a href="/home/kitchen/accessories/refrigeration/under-counter/">Under-Counter</a> 3443 </li> 3444 <li> 3445 3446 <a href="/home/kitchen/accessories/refrigeration/filters/">Filters</a> 3447 </li> 3448 <li> 3449 3450 <a href="/home/kitchen/accessories/refrigeration/refrigeration-built-in/">Refrigeration Built In</a> 3451 </li> 3452 </ul> 3453 </div> 3454 <div class="header__menu-topic"> 3455 <a class="header__menu-title" href="/home/kitchen/accessories/ventilation/">Ventilation</a> 3456 <ul class="header__topic-ul"> 3457 </ul> 3458 </div> 3459 <div class="header__menu-topic"> 3460 <a class="header__menu-title" href="/home/kitchen/accessories/laundry/">Laundry</a> 3461 <ul class="header__topic-ul"> 3462 <li> 3463 3464 <a href="/home/kitchen/accessories/laundry/washerdryer/">Washer/Dryer</a> 3465 </li> 3466 </ul> 3467 </div> 3468 <div class="header__menu-topic"> 3469 <a class="header__menu-title" href="/home/kitchen/accessories/dishwasher/">Dishwasher</a> 3470 <ul class="header__topic-ul"> 3471 </ul> 3472 </div> 3473 3474 </div> 3475 3476 </div> 3477 </li> 3478 <li class="side-nav__nav-subli"> 3479 <div class="side-nav__nav-sublink">Eco</div> 3480 <div class="header__menu-segmentw"> 3481 <div class="header__menu-topics"> 3482 3483 <div class="header__menu-text"> 3484 <p><span style="font-size: 12pt;">Save now, save later and save the future. Browse our Eco friendly appliances which can not only slash your energy bills but greatly reduce the energy, water consumption and environmental impact of your household.</span><span style="font-size: 12pt;"></span></p> 3485<p>Â </p> 3486<p><span style="font-size: 12pt;">See our Energy Star selection here</span></p> 3487<p>Â </p> 3488<p><a href="/home/eco-appliances/" title="Eco Appliances"><span style="font-size: 12pt;"><img loading="lazy" decoding="async" style="width: 281px; height: 172px;" src="/../../media/5084/goe_eco_leaf_vector.png?width=281&height=172" alt=""></span></a></p> 3489<p><a href="/home/eco-appliances/" title="Eco Appliances"><img loading="lazy" decoding="async" style="width: 0px; height: 0px;" src="/../../media/5084/goe_eco_leaf_vector.png" alt=""></a></p> 3490 </div> 3491 </div> 3492 3493 </div> 3494
3494</li> 3495 <li class="side-nav__nav-subli"> 3496 <div class="side-nav__nav-sublink">MADE IN CANADA</div> 3497 <div class="header__menu-segmentw"> 3498 <div class="header__menu-topics"> 3499 3500 <div class="header__menu-text"> 3501 <p>Canada made, Canada proud. <a href="/home/made-in-canada/" title="MADE IN CANADA">Shop our Made in Canada items..</a>.</p> 3502<p>Â </p> 3503<p><img loading="lazy" decoding="async" style="width: 0px; height: 0px;" src="/../../media/9075/madeincanada-02.png" alt=""><a href="/home/made-in-canada/" title="MADE IN CANADA"><img loading="lazy" decoding="async" style="width: 186px; height: 183px; float: left;" src="/../../media/9075/madeincanada-02.png?width=186&height=183&mode=max" alt=""></a></p> 3504 </div> 3505 </div> 3506 3507 </div> 3508 </li> 3509 <li class="side-nav__nav-subli"> 3510 <div class="side-nav__nav-sublink">Grill Hero</div> 3511 <div class="header__menu-segmentw"> 3512 <div class="header__menu-topics"> 3513 3514 <div class="header__menu-text"> 3515 <p><span>At Goemans Appliances, we believe a great grill is the heart of every exceptional outdoor kitchen. Thatâs why we recommend Grill Heroâtrusted experts in BBQ cleaning, maintenance, and repairâto help you protect your investment and enjoy flawless grilling, season after season.</span></p> 3516<p><span>Whether you're hosting a summer get-together or perfecting your backyard culinary game, a well-maintained grill delivers better performance, lasts longer, and looks as impressive as it cooks.</span></p> 3517<p><span>Â </span></p> 3518<p><span><strong><a href="/home/grill-hero/" title="Grill Hero">Learn more and book your premium BBQ cleaning or service today!</a></strong></span></p> 3519 </div> 3520 </div> 3521 3522 </div> 3523 </li> 3524 <li class="side-nav__nav-subli"> 3525 <div class="side-nav__nav-sublink">Luxury for Less</div> 3526 <div class="header__menu-segmentw"> 3527 <div class="header__menu-topics"> 3528 3529 <div class="header__menu-text"> 3530 <p><span>Shop our clearance and liquidation offers and enjoy exclusive savings on premium brands â with additional savings when you bundle.</span></p> 3531<p> </p> 3532<p><span><a href="/home/curated-clearance-luxury-appliances/" title="Curated Clearance Luxury Appliances"><img loading="lazy" decoding="async" style="width: 269px; height: 64px;" src="/../../media/9799/goe_basic_web_bttns_2025_view_detailspg.jpg?width=269&height=64&mode=max" alt=""></a></span></p> 3533 </div> 3534 </div> 3535 3536 </div> 3537 </li> 3538 3539 </ul> 3540 </li> 3541 </ul> 3542 </div> 3543 3544 <ul class="side-nav__extra"> 3545 <li> 3546 <a href="/home/brands/" class="side-nav__link"> 3547 <span class="side-nav__extra-span">Brands</span> 3548 </a> 3549 </li> 3550 <li> 3551 <a href="/home/promotions/" class="side-nav__link">
3552 <span class="side-nav__extra-span">Promotions</span> 3553 </a> 3554 </li> 3555 <li> 3556 <a href="/home/locations/" class="side-nav__link"> 3557 <span class="side-nav__extra-span">Locations</span> 3558 </a> 3559 </li> 3560 </ul> 3561 <ul class="header__item-ul" style="flex-direction:column"> 3562 <li> 3563 <a href="/inventory-alert">Inventory alert</a> 3564 </li> 3565 <li> 3566 <a href="/home/track-your-delivery">Track your delivery</a> 3567 </li> 3568 <li> 3569 <a href="https://blog.goemans.com/">Blog</a> 3570 </li> 3571 <li> 3572 <a href="https://www.goemans.com/home/easy-pay/">Pay An Invoice</a> 3573 </li> 3574 <li> 3575 <a href="/home/locations/">Click Here For Support</a> 3576 </li> 3577 </ul> 3578 </div> 3579 </div> 3580</noindex> 3581 3582 <div class="mc_embed_signup"> 3583 <form id="quote-form" action="/umbraco/surface/subscriptionapi/RequestQuote" method="post" class="validate subscribe-form" target="_blank" novalidate> 3584 <input type="hidden" value="7750" name="rootContentId" /> 3585 <input type="hidden" id="captcha-token" name="token" /> 3586 <div class="mc_embed_signup_scroll"> 3587 <div class="mc_embed_signup_close">×</div> 3588 <div class="response mce-success-response" id="mce-success-response" style="display: none">Thank you, someone will be in touch shortly</div> 3589 <div class="mc-field-group_form"> 3590 <h2 class="mc_embed_signup_title">Request a quote</h2> 3591 <div class="mc-field-group"> 3592 <label for="mce-EMAIL"> 3593 Email Address <span class="asterisk">*</span> 3594 <div class="indicates-required"><span class="asterisk">*</span> indicates required</div> 3595 </label> 3596 <input type="email" name="EMAIL" class="required email" required> 3597 </div> 3598 <div class="mc-field-group"> 3599 <label for="mce-FNAME"> 3600 First Name <span class="asterisk">*</span> 3601 <div class="indicates-required"><span class="asterisk">*</span> indicates required</div> 3602 </label> 3603 <input type="text" name="FNAME" id="mce-FNAME" class="required mce-FNAME" required> 3604 </div> 3605 <div class="mc-field-group"> 3606 <label for="mce-LNAME">Last Name </label> 3607 <input type="text" name="LNAME" id="mce-LNAME"> 3608 </div> 3609 <div class="mc-field-group size1of2"> 3610 <label for="mce-PHONE"> 3611 Phone Number <span class="asterisk">*</span> 3612 <div class="indicates-required"><span class="asterisk">*</span> indicates required</div> 3613 </label> 3614 <input type="text" name="PHONE" id="mce-PHONE" class="required mce-PHONE" required> 3615 </div> 3616 <div class="mc-field-group"> 3617 <label for="PRODUCTID">Model Number </label> 3618 <input type="text" name="PRODUCTID" id="PRODUCTID"> 3619 </div> 3620 <div class="mc-field-group"> 3621 <label for="mce-MESSAGE"> 3622 Message <span class="asterisk">*</span> 3623 <div class="indicates-required"><span class="asterisk">*</span> indicates required</div> 3624 </label> 3625 <input type="text" name="MESSAGE" class="required mce-MESSAGE" required> 3626 </div> 3627 <div class="mc-field-group">
3628 <label for="mce-LOCATION"> 3629 Nearest Location <span class="asterisk">*</span> 3630 <div class="indicates-required"><span class="asterisk">*</span> indicates required</div> 3631 </label> 3632 <select name="LOCATION" class="required mce-LOCATION" required> 3633 <option selected='selected' value="Stoney Creek"> 3634 Stoney Creek 3635 </option> 3636 <option value="St.Catharines"> 3637 St.Catharines 3638 </option> 3639 <option value="Mississauga"> 3640 Mississauga 3641 </option> 3642 <option value="Kitchener"> 3643 Kitchener 3644 </option> 3645 <option value="London"> 3646 London 3647 </option> 3648 <option value="Vaughan"> 3649 Vaughan 3650 </option> 3651 <option value="Markham"> 3652 Markham 3653 </option> 3654 <option value="Whitby"> 3655 Whitby 3656 </option> 3657 </select> 3658 </div> 3659 <div class="mc-field-group" style="display: block"> 3660 <input type="checkbox" name="NEWSLETTER" style="width: 25px;" id="NEWSLETTER"> 3661 <label for="NEWSLETTER">I would like to opt-in to receive the Goemans E-newsletter</label> 3662 </div> 3663 <div style="position: absolute; left: -5000px;" aria-hidden="true"> 3664 <input type="text" name="b8ia0zic88a7z120cxZxck" tabindex="-1" value=""> 3665 </div> 3666 <div style="text-align:center"> 3667 <div class="g-recaptcha" id="quote-recaptcha" data-sitekey="" style="display:inline-block;"></div> 3668 </div> 3669 <div class="button_submit"> 3670 <button type="button" name="Request a quote" class="button btn" onclick="submitQuote(event)">Request a quote</button> 3671 </div> 3672 </div> 3673 <div class="response" id="mce-error-response" style="display: none"></div> 3674 </div> 3675 </form> 3676 </div> 3677 3678 <div class="popup-content mc_embed_signup" id="BackorderPopup" data-class="delivery-message"> 3679 <form id="backorder-form" action="/umbraco/surface/hubspotapi/SubmitBackorderdForm" method="post" class="validate subscribe-form" target="_blank" novalidate> 3680 <input type="hidden" value="7750" name="rootContentId" /> 3681 <div> 3682 <div class="response mce-success-response" id="mce-success-response" style="display: none"> 3683 <h2 class="mc_embed_signup_title"><p>Thank you - we will be in touch as soon as possible.</p></h2> 3684 </div> 3685 <div class="mc-field-group_form"> 3686 <h2 class="mc_embed_signup_title">Sorry, this product is experiencing an extended backorder.</h2> 3687 <h4><p>If you would like an Appliance Associate to contact you about selecting an available, similar model, please enter your info below.</p></h4> 3688 <div class="mc-field-group"> 3689 <label for="mce-EMAIL"> 3690 Email Address <span class="asterisk">*</span> 3691 <div class="indicates-required"><span class="asterisk">*</span> indicates required</div> 3692 </label> 3693 <input type="email" name="EMAIL" class="required email" required> 3694 </div> 3695 <div class="mc-field-group">
3696 <label for="mce-FNAME"> 3697 First Name <span class="asterisk">*</span> 3698 <div class="indicates-required"><span class="asterisk">*</span> indicates required</div> 3699 </label> 3700 <input type="text" name="FNAME" id="mce-FNAME" class="required mce-FNAME" required> 3701 </div> 3702 <div class="mc-field-group"> 3703 <label for="mce-FNAME"> 3704 Last Name 3705 </label> 3706 <input type="text" name="LNAME" id="mce-LNAME" class="mce-LNAME"> 3707 </div> 3708 <input type="hidden" name="PRODUCTID" id="BackorderPopup_PRODUCTID"> 3709 <input type="hidden" name="FORMID" id="FORMID" value="103beb42-fa48-497a-a6f4-cfe102d26ebd"> 3710 <div class="mc-field-group"> 3711 <label for="mce-LOCATION"> 3712 Nearest Location 3713 <div class="indicates-required"><span class="asterisk">*</span> indicates required</div> 3714 </label> 3715 <select name="LOCATION" id="mce-LOCATION" class="required mce-LOCATION"> 3716 <option disabled selected value=""> -- select an option -- </option> 3717 <option value="Stoney Creek">Stoney Creek</option> 3718 <option value="St.Catharines">St.Catharines</option> 3719 <option value="Mississauga">Mississauga</option> 3720 <option value="Kitchener">Kitchener</option> 3721 <option value="London">London</option> 3722 <option value="Vaughan">Vaughan</option> 3723 <option value="Markham">Markham</option> 3724 <option value="Whitby">Whitby</option> 3725 </select> 3726 </div> 3727 <div class="mc-field-group"> 3728 <label for="mce-MESSAGE" class="label-heading" style="width: 100px;"> 3729 Message 3730 </label> 3731 <input type="text" name="MESSAGE" class="mce-MESSAGE" placeholder=""> 3732 </div> 3733 <div class="button_submit"> 3734 <input type="submit" value="Submit" name="Submit" class="button btn"> 3735 </div> 3736 </div> 3737 </div> 3738 </form> 3739 </div> 3740 <div class="blackblock"></div> 3741 3742 3743
3744<script src='/html/goemans/build/js/f-dcfed95f35.min.js' type='text/javascript'></script>
vendor: 1 bytes, line 3744
3744
3745<script type="text/javascript" src="/scripts/recaptcha-loader.js"></script>
3745 3746 3747 <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/[email protected]/slick/slick.css" /> 3748
3748<script type="text/javascript" defer src="https://cdn.jsdelivr.net/npm/[email protected]/slick/slick.min.js"></script>
3748 3749
3749<script defer src="https://cdnjs.cloudflare.com/ajax/libs/hammer.js/2.0.8/hammer.min.js"></script>
3749 3750
3750<script type="text/javascript" src="/scripts/jquery.truncator.js"></script>
3750 3751
3751<script type="text/javascript" src="/scripts/jquery.validate.js"></script>
3751 3752
3752<script type="text/javascript" src="/scripts/jquery.validate.unobtrusive.min.js"></script>
3752 3753
3753<script defer integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous" src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
3753 3754
3754<script> 3755 tgDefer({ 3756 name: 'fotorama', 3757 target: '.fotorama', 3758 src: 'https://cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.js' 3759 }); 3760 </script>
3760 3761 3762
3762<script type="text/javascript" src="/scripts/deferred-third-party.js"></script>
3762 3763
3763<script type="text/javascript" src="/scripts/common.js?v=8"></script>
3763 3764
3764<script type="text/javascript" src="/scripts/enhanced.ecommerce.js"></script>
3764 3765
3765<script type="text/javascript" src="/scripts/Miele.js?v=1"></script>
3765 3766
3766<script type="text/javascript" src="/scripts/ConfirmPopup.js"></script>
3766 3767
3767<script> 3768 var _storeInfo = []; 3769 3770 _storeInfo.push({ 3771 id: '7972', 3772 store: 'Stoney Creek', 3773 phone: '(905) 664-2035', 3774 phoneE164: '+19056642035', 3775 email: '[email protected]', 3776 address: '903 Queenston Road ', 3777 city: 'Stoney Creek', 3778 state: 'ON', 3779 zip: 'L8G 1B6', 3780 workHours: '9:30 AM - 5:30 PM', 3781 latlng: { lat: parseFloat('43.226476'), lng: parseFloat('-79.756331') } 3782 }); 3783 3784 _storeInfo.push({ 3785 id: '8024', 3786 store: 'St.Catharines', 3787 phone: '(905) 688-3000', 3788 phoneE164: '+19056883000', 3789 email: '[email protected]', 3790 address: '166 Bunting Road', 3791 city: 'St. Catharines', 3792 state: 'ON', 3793 zip: 'L2M 3Y2', 3794 workHours: '9:30 AM - 5:30 PM', 3795 latlng: { lat: parseFloat('43.169034'), lng: parseFloat('-79.209811') } 3796 }); 3797 3798 _storeInfo.push({ 3799 id: '8051', 3800 store: 'Mississauga', 3801 phone: '(905) 820-2600', 3802 phoneE164: '+19058202600', 3803 email: '[email protected]', 3804 address: '3050 Vega Blvd ', 3805 city: 'Mississauga', 3806 state: 'ON', 3807 zip: 'L5L 5X8', 3808 workHours: '9:30 AM - 5:30 PM', 3809 latlng: { lat: parseFloat('43.514632'), lng: parseFloat('-79.692283') } 3810 }); 3811 3812 _storeInfo.push({ 3813 id: '8071', 3814 store: 'Kitchener', 3815 phone: '(519) 650-4255', 3816 phoneE164: '+15196504255', 3817 email: '[email protected]', 3818 address: '4585 King Street East', 3819 city: 'Kitchener', 3820 state: 'ON', 3821 zip: 'N2P 2G2', 3822 workHours: '9:30 AM - 5:30 PM', 3823 latlng: { lat: parseFloat('43.403726'), lng: parseFloat('-80.384968') } 3824 }); 3825 3826 _storeInfo.push({ 3827 id: '8078', 3828 store: 'London', 3829 phone: '(519) 685-0800', 3830 phoneE164: '+15196850800', 3831 email: '[email protected]', 3832 address: '1040 Wharncliffe Rd. South', 3833 city: 'London', 3834 state: 'ON', 3835 zip: 'N6L 1H2', 3836 workHours: '10:00 AM - 6:00 PM', 3837 latlng: { lat: parseFloat('42.93756'), lng: parseFloat('-81.259647') } 3838 }); 3839 3840 _storeInfo.push({ 3841 id: '8106', 3842 store: 'Vaughan', 3843 phone: '(905) 264-1771', 3844 phoneE164: '+19052641771', 3845 email: '[email protected]', 3846 address: '167 Chrislea Road ', 3847 city: 'Vaughan', 3848 state: 'ON', 3849 zip: 'L4L 8N6', 3850 workHours: '9:30 AM - 5:30 PM', 3851 latlng: { lat: parseFloat('43.7951783'), lng: parseFloat('-79.5422506') } 3852 }); 3853 3854 _storeInfo.push({ 3855 id: '8113', 3856 store: 'Markham', 3857 phone: '(905) 513-0004', 3858 phoneE164: '+19055130004', 3859 email: '[email protected]', 3860 address: '8401 Woodbine Avenue', 3861 city: 'Markham', 3862 state: 'ON', 3863 zip: 'L3R 2P4', 3864 workHours: '9:30 AM - 5:30 PM', 3865 latlng: { lat: parseFloat('43.8473268'), lng: parseFloat('-79.3570814') } 3866 }); 3867 3868 _storeInfo.push({ 3869 id: '8127', 3870 store: 'Whitby', 3871 phone: '905-721-1555', 3872 phoneE164: '+19057211555', 3873 email: '[email protected]', 3874 address: '1629 Victoria St. E ', 3875 city: 'Whitby', 3876 state: 'ON', 3877 zip: 'L1N 9W4', 3878 workHours: '10:00 AM - 5:30 PM', 3879 latlng: { lat: parseFloat('43.865909'), lng: parseFloat('-78.902134') } 3880 }); 3881 3882 _storeInfo.push({ 3883 id: '8144', 3884 store: 'Distribution Centre', 3885 phone: '', 3886 phoneE164: '', 3887 email: '', 3888 address: '7975 Heritage Rd, Unit 1', 3889 city: 'Brampton', 3890 state: 'ON', 3891 zip: 'L6Y 5X5', 3892 workHours: '8:00 AM - 3:30 PM', 3893 latlng: { lat: parseFloat('43.6174834'), lng: parseFloat('-79.7858968') } 3894 }); 3895 </script>
3895 3896
3896<script type="text/javascript"> 3897 function updateListCounter(url, updateElem) { 3898 $.ajax({ 3899 url: url, 3900 data: { 3901 rootContentId: 7750 3902 }, 3903 cache: false, 3904 type: "GET", 3905 success: function (wishlistCounter) { 3906 $(updateElem).text(wishlistCounter); 3907 } 3908 }); 3909 } 3910 3911 // Antiforgery tokens are fetched on demand instead of being rendered into the page. 3912 // 3913 // Html.AntiForgeryToken() in this layout issued a token on every page render, which 3914 // writes the .AspNetCore.Antiforgery cookie. ASP.NET Core's output caching refuses to 3915 // store any response carrying a Set-Cookie header, so that one call disabled output 3916 // caching for the whole site - every cookieless visitor (new users, crawlers, and every 3917 // synthetic performance tool) paid the full uncached render and could not populate the 3918 // cache for anyone else either. 3919 // 3920 // Prefetched once after load rather than on first use. Both forms post with 3921 // target="_blank", and browsers can treat a new tab opened after an async gap as a 3922 // popup; having the token already in hand keeps the submit in the user's gesture. 3923 // The request is small and off the critical path, and it also primes the cookie so 3924 // this visitor's subsequent page loads are themselves cacheable. 3925 var tgAntiforgery = (function () { 3926 var TOKEN_FIELD = "__RequestVerificationToken"; 3927 var tokenUrl = '/umbraco/surface/subscriptionapi/GetAntiforgeryToken'; 3928 var value = null; 3929 var pending = null; 3930 3931 // Existing callers locate the token with a first-match selector on this field name, 3932 // so writing it into the forms keeps them working without further changes. 3933 function inject(token) { 3934 value = token; 3935 $("#newsletter-form, #quote-form, #backorder-form").each(function () { 3936 var $form = $(this); 3937 var $input = $form.find('input[name="' + TOKEN_FIELD + '"]'); 3938 if (!$input.length) { 3939 $input = $('<input type="hidden" name="' + TOKEN_FIELD + '" />').appendTo($form); 3940 } 3941 $input.val(token); 3942 }); 3943 return token; 3944 } 3945 3946 return { 3947 // Resolves with the token, fetching it once and reusing it thereafter. 3948 ensure: function () { 3949 if (value) { 3950 return $.Deferred().resolve(value).promise(); 3951 } 3952 if (!pending) { 3953 pending = $.ajax({ url: tokenUrl, type: "GET", cache: false }) 3954 .then(function (resp) { 3955 pending = null; 3956 return inject(resp.token); 3957 }, function () { 3958 pending = null; 3959 }); 3960 } 3961 return pending; 3962 } 3963 }; 3964 })(); 3965 3966 $(window).on("load", function () { 3967 tgAntiforgery.ensure(); 3968 }); 3969 3970 function serverApiCall(data, url, updateElem, callback) { 3971 data.rootContentId = 7750; 3972 3973 tgAntiforgery.ensure().then(function (token) { 3974 $.ajax({ 3975 url: url, 3976 cache: false, 3977 type: "POST", 3978 data: JSON.stringify(data), 3979 contentType: 'application/json; charset=utf-8', 3980 beforeSend: function (xhr) { 3981 xhr.setRequestHeader("RequestVerificationToken", token); 3982 }, 3983 }) 3984 .done(function (resp) { 3985 $(updateElem).text(resp.Count); 3986 if (callback) 3987 callback(resp); 3988 }); 3989 }); 3990 } 3991 </script>
3991 3992 3993
3993<script> 3994 window.tgDefer({ 3995 name: 'google-maps', 3996 src: 'https://maps.googleapis.com/maps/api/js?key=AIzaSyBEVmUxGDuOSMgwTqzLXrNPaJb1DqGoDn0&libraries=geometry' 3997 }); 3998 </script>
3998 3999 4000 4001
4001<script type="text/javascript"> 4002 $("#add-to-cart-modal .close, #add-to-cart-modal .btn-secondary").click(function (e) 4003 { 4004 $('#add-to-cart-modal').modal('hide'); //doesn't work for unknown reasons 4005 $('#add-to-cart-modal').hide(); 4006 }); 4007 4008 $("#menu li").mouseover(function () 4009 //$("#menu li[data-target='/home/kitchen/home-essentials/specialty-products-cookware/']").mouseover(function () 4010 { 4011 //$("#menu li").removeClass("over"); 4012 //$("#menu a").removeClass("hover"); 4013 4014 if ($(this).attr('data-target') == '/home/kitchen/home-essentials/specialty-products-cookware/') { 4015 $("#menu li").removeClass("over"); 4016 $(this).addClass("over"); 4017 4018 $("#menu a").removeClass("hover"); 4019 $(this).children().filter("a").addClass("hover"); 4020 4021 var parentItem = $(this).closest("ul").closest("li"); 4022 $(parentItem).addClass("over"); 4023 $(parentItem).children().filter("a").addClass("hover"); 4024 } 4025 else if ('/home/kitchen/home-essentials/specialty-products-cookware/'.indexOf($(this).attr('data-target')) === -1) { 4026 $("#menu li").removeClass("over"); 4027 $("#menu a").removeClass("hover"); 4028 } 4029 }); 4030 4031 $('.-js-toggle').click(function () { 4032 $(this).next('.-toggle-block').slideToggle(); 4033 }); 4034 4035 //https://developerdocs.hawksearch.com/docs/rapid-ui-tracking#track-add-to-cart-events 4036 function trackAddToCart(productId, quantity, price, currencyCode) { 4037 HawkSearch.services.tracking.trackAddToCart(productId, quantity, price, currencyCode); 4038 } 4039 4040 $(document).on("click", ".add-model-to-cart", function (e) { 4041 console.log('Calling add to cart tracking'); 4042 e.preventDefault(); 4043 4044 if (!areAllTheAcksChecked()) 4045 return; 4046 4047 var modelNumber = $(this).data('model-number'); 4048 var category = $(this).data('category'); 4049 var productName = $(this).data('product-name'); 4050 var brand = $(this).data('brand'); 4051 var variant = $(this).data('variant'); 4052 var price = $(this).data('price'); 4053 4054 var data = { 4055 modelId: $(this).attr('data-id') 4056 }; 4057 4058 4059 if (window.HawkSearch?.services?.tracking) { 4060 trackAddToCart(data.modelId, 1, price, 'CAD'); 4061 } else { 4062 addEventListener('hawksearch:initialized', trackAddToCart(data.modelId, 1, price, 'CAD'), { once: true }); 4063 } 4064 4065 // Add list value for products added from product list page only 4066 var catalogItem = $(this).closest('.catalogue__list-item'); 4067 4068 // Need to check if item is backordered 4069 $.ajax({ 4070 url: "/umbraco/surface/CartApi/CheckIfBackOrdered", 4071 data: { 4072 modelId: $(this).attr('data-id'), 4073 rootContentId: 7750 4074 } 4075 }).done(function (result) { 4076 if (result === 'True' && false) { 4077 $('#add-to-cart-modal').empty(); 4078 showBackOrderForm(modelNumber); 4079 } else { 4080 var selectedWarrantyBlock = $('input.js-include-warranty:checked') 4081 .closest('.product__price-list_addons'); 4082 if (selectedWarrantyBlock.length > 0) { 4083 data.WarrantyTerm = selectedWarrantyBlock.find('.product__price-list-price').data('years'); 4084 } 4085 4086 serverApiCall(data, "/umbraco/surface/CartApi/AddProductToCart", $(".cart-counter"), function () 4087 { 4088 4089 new EnhancedEcommerce().initAddToCart({ 4090 Id: modelNumber, 4091 Category: category, 4092 PageName: catalogItem.data('category'), 4093 Name: productName, 4094 Brand : brand, 4095 Color: variant, 4096 Price: price, 4097 }, "/home/cart-step-1/"); 4098 }); 4099 } 4100 }); 4101 }); 4102 4103 $(document).on("click", ".add-package-to-cart", function (e) 4104 { 4105 e.preventDefault(); 4106 4107 var data = { 4108 packageId: $(this).attr('data-id') 4109 }; 4110 4111 var name = $(this).attr('data-name'); 4112 var category = $(this).attr('data-category'); 4113 var brand = $(this).data('brand'); 4114 var price = $(this).data('price'); 4115 4116 var selectedWarrantyBlock = $('input.js-include-warranty:checked') 4117 .closest('.product__price-list_addons'); 4118 if (selectedWarrantyBlock.length > 0) { 4119 data.warrantyTerm = selectedWarrantyBlock.find('.product__price-list-price').data('years'); 4120 } 4121 4122 serverApiCall(data, "/umbraco/surface/CartApi/AddPackageToCart", $(".cart-counter"), function () 4123 {
4124 new EnhancedEcommerce().initAddToCart({ 4125 Id: name, 4126 Category: category, 4127 Brand: brand, 4128 Price: price, 4129 Name: name 4130 }); 4131 4132 window.location = "/home/cart-step-1/"; 4133 }); 4134 }); 4135 4136 // Add package to cart HawkSearch 4137 $(document).on("click", "hawksearch-search-results", function (e) 4138 { 4139 // Get the full path of the click 4140 const path = e.originalEvent.composedPath(); 4141 4142 // Look for the element with the class '.add-model-to-cart' in that path 4143 const target = path.find(el => el.classList && el.classList.contains('add-package-to-cart')); 4144 4145 if (!target) return; 4146 4147 const isInsideHawk = path.some(el => el.tagName === 'HAWKSEARCH-SEARCH-RESULTS'); 4148 if (!isInsideHawk) return; 4149 4150 const $this = $(target); 4151 e.preventDefault(); 4152 4153 var data = { 4154 packageId: $(this).attr('data-id') 4155 }; 4156 4157 var name = $(this).attr('data-name'); 4158 var category = $(this).attr('data-category'); 4159 var brand = $(this).data('brand'); 4160 var price = $(this).data('price'); 4161 4162 var selectedWarrantyBlock = $('input.js-include-warranty:checked') 4163 .closest('.product__price-list_addons'); 4164 if (selectedWarrantyBlock.length > 0) { 4165 data.warrantyTerm = selectedWarrantyBlock.find('.product__price-list-price').data('years'); 4166 } 4167 4168 serverApiCall(data, "/umbraco/surface/CartApi/AddPackageToCart", $(".cart-counter"), function () 4169 { 4170 new EnhancedEcommerce().initAddToCart({ 4171 Id: name, 4172 Category: category, 4173 Brand: brand, 4174 Price: price, 4175 Name: name 4176 }); 4177 4178 window.location = "/home/cart-step-1/"; 4179 }); 4180 }); 4181 4182 $(document).on("click", ".add-clearance-to-cart", function (e) 4183 { 4184 e.preventDefault(); 4185 // TODO This should be revised to use Clearance Product Id 4186 new EnhancedEcommerce().initAddToCart({ 4187 Id: $(this).attr('data-id') 4188 }); 4189 serverApiCall({ clearanceId: $(this).attr('data-id') }, "/umbraco/surface/CartApi/AddClearanceToCart", $(".cart-counter"), function () 4190 { 4191 window.location = "/home/cart-step-1/"; 4192 }); 4193 }); 4194 4195 // Add clearance to cart HawkSearch 4196 $(document).on("click", "hawksearch-search-results", function (e) 4197 { 4198 // Get the full path of the click 4199 const path = e.originalEvent.composedPath(); 4200 4201 // Look for the element with the class '.add-model-to-cart' in that path 4202 const target = path.find(el => el.classList && el.classList.contains('add-clearance-to-cart')); 4203 4204 if (!target) return; 4205 4206 const isInsideHawk = path.some(el => el.tagName === 'HAWKSEARCH-SEARCH-RESULTS'); 4207 if (!isInsideHawk) return; 4208 4209 const $this = $(target); 4210 e.preventDefault(); 4211 // TODO This should be revised to use Clearance Product Id 4212 new EnhancedEcommerce().initAddToCart({ 4213 Id: $(this).attr('data-id') 4214 }); 4215 serverApiCall({ clearanceId: $(this).attr('data-id') }, "/umbraco/surface/CartApi/AddClearanceToCart", $(".cart-counter"), function () 4216 { 4217 window.location = "/home/cart-step-1/"; 4218 }); 4219 }); 4220 4221 function areAllTheAcksChecked() { 4222 let itemsSelector = '.must-ack'; 4223 let errorMessageSelector = '.must-ack-error-message'; 4224 4225 $(errorMessageSelector + ':visible').each(function (id, elem) { $(elem).hide() }); 4226 4227 let notCheckedItems = $(itemsSelector + " input:not(:checked)"); 4228 if (notCheckedItems.length === 0) { 4229 return true; 4230 } 4231 4232 let items = $(itemsSelector); 4233 for (let i = 0; i < items.length; i++) { 4234 let element = $(items[i]); 4235 let checkBoxes = element.find('input[type=checkbox]'); 4236 4237 if (checkBoxes == null || checkBoxes.length == 0) 4238 continue; 4239 4240 var checkbox = $(checkBoxes[0]); 4241 4242 if (!checkbox.is(':checked')) { 4243 let errorMessages = element.find('.must-ack-error-message'); 4244 if (errorMessages != null && errorMessages.length > 0) { 4245 $(errorMessages[0]).show(); 4246 } 4247 } 4248 } 4249 4250 return false;
4251 } 4252 4253 $(document).on("click", ".add-to-cart", function (e) 4254 { 4255 e.preventDefault(); 4256 4257 var item = $(this).closest('.catalogue__item'); 4258 4259 if (!areAllTheAcksChecked()) 4260 return; 4261 4262 $.ajax({ 4263 url: "/umbraco/surface/ProductModel/AddToCartModelSelector", 4264 data: { 4265 id: $(this).attr('data-id'), 4266 modelNumber: $(this).attr('data-model-number'), 4267 rootContentId: 7750 4268 } 4269 }).done(function (result) 4270 { 4271 $("#add-to-cart-modal").html(""); 4272 $("#add-to-cart-modal").html(result); 4273 $("#add-to-cart-modal").show(); 4274 addToCartShow(item, result); 4275 }); 4276 4277 function addToCartShow(item, result) 4278 { 4279 var p = $('#add-to-cart-modal'); 4280 4281 p.find('._js-catalogue__popup-continue').on('click', function () 4282 { 4283 $("#add-to-cart-modal").hide(); 4284 popup.trigger('hide'); 4285 }); 4286 4287 popup.trigger('show', { 4288 content: p 4289 }); 4290 4291 $('.popup-close').on('click', function (e) { 4292 $("#add-to-cart-modal").hide(); 4293 }); 4294 4295 $('.popup').on('mousedown', function() { 4296 $("#add-to-cart-modal").hide(); 4297 }); 4298 $('.popup-inner').on('mousedown',function(e){ 4299 4300 }); 4301 }; 4302 }); 4303 4304 // Add to cart HawkSearch - opens the model-selector popup (regular products and Miele single-product variant) 4305 $(document).on("click", "hawksearch-search-results", function (e) 4306 { 4307 const path = e.originalEvent.composedPath(); 4308 4309 const target = path.find(el => el.classList && el.classList.contains('add-to-cart')); 4310 4311 if (!target) return; 4312 4313 const isInsideHawk = path.some(el => el.tagName === 'HAWKSEARCH-SEARCH-RESULTS'); 4314 if (!isInsideHawk) return; 4315 4316 const $this = $(target); 4317 e.preventDefault(); 4318 4319 var item = $this.closest('.catalogue__item'); 4320 4321 if (!areAllTheAcksChecked()) 4322 return; 4323 4324 $.ajax({ 4325 url: "/umbraco/surface/ProductModel/AddToCartModelSelector", 4326 data: { 4327 id: $this.attr('data-id'), 4328 modelNumber: $this.attr('data-model-number'), 4329 rootContentId: 7750 4330 } 4331 }).done(function (result) 4332 { 4333 $("#add-to-cart-modal").html(""); 4334 $("#add-to-cart-modal").html(result); 4335 $("#add-to-cart-modal").show(); 4336 4337 var p = $('#add-to-cart-modal'); 4338 4339 p.find('._js-catalogue__popup-continue').on('click', function () 4340 { 4341 $("#add-to-cart-modal").hide(); 4342 popup.trigger('hide'); 4343 }); 4344 4345 popup.trigger('show', { 4346 content: p 4347 }); 4348 4349 $('.popup-close').on('click', function (e) { 4350 $("#add-to-cart-modal").hide(); 4351 }); 4352 4353 $('.popup').on('mousedown', function() { 4354 $("#add-to-cart-modal").hide(); 4355 }); 4356 $('.popup-inner').on('mousedown',function(e){ 4357 4358 }); 4359 }); 4360 }); 4361 4362 // Request a quote popup HawkSearch 4363 $(document).on("click", "hawksearch-search-results", function (e) 4364 { 4365 const path = e.originalEvent.composedPath(); 4366 4367 const target = path.find(el => el.classList && el.classList.contains('quote')); 4368 4369 if (!target) return; 4370 4371 const isInsideHawk = path.some(el => el.tagName === 'HAWKSEARCH-SEARCH-RESULTS'); 4372 if (!isInsideHawk) return; 4373 4374 const $this = $(target); 4375 e.preventDefault(); 4376 4377 $('#PRODUCTID').val($this.data('model-number')); 4378 $('.mc_embed_signup_scroll').fadeIn(); 4379 $('.blackblock').fadeIn(); 4380 }); 4381
4382 $(document).on("click", "a.add-to-wishlist, span.add-to-wishlist", function (e) 4383 { 4384 e.preventDefault(); 4385 var $addBtn = $(this); 4386 4387 serverApiCall({ pn: $(this).attr('data-id') }, "/umbraco/api/WishlistApi/AddToWishList", $(".wishlist-counter"), 4388 function (resp) 4389 { 4390 if (resp != null && resp.IsSuccess) { 4391 TGNS.show({ 4392 title: 'Item added to wishlist<br><strong>' + resp.Title + '</strong>' 4393 4394 }); 4395 } 4396 $addBtn 4397 .next('span') 4398 .text('Added') 4399 .addClass('--added') 4400 .parent('li') 4401 .css('height', '24px'); 4402 $addBtn.remove(); 4403 }); 4404 }); 4405 4406 // Add to wishlist HawkSearch 4407 $(document).on("click", "hawksearch-search-results", function (e) 4408 { 4409 const path = e.originalEvent.composedPath(); 4410 4411 const target = path.find(el => el.classList && el.classList.contains('add-to-wishlist')); 4412 4413 if (!target) return; 4414 4415 const isInsideHawk = path.some(el => el.tagName === 'HAWKSEARCH-SEARCH-RESULTS'); 4416 if (!isInsideHawk) return; 4417 4418 const $this = $(target); 4419 e.preventDefault(); 4420 var $addBtn = $this; 4421 4422 serverApiCall({ pn: $this.attr('data-id') }, "/umbraco/api/WishlistApi/AddToWishList", $(".wishlist-counter"), 4423 function (resp) 4424 { 4425 if (resp != null && resp.IsSuccess) { 4426 TGNS.show({ 4427 title: 'Item added to wishlist<br><strong>' + resp.Title + '</strong>' 4428 4429 }); 4430 } 4431 $addBtn 4432 .next('span') 4433 .text('Added') 4434 .addClass('--added') 4435 .parent('li') 4436 .css('height', '24px'); 4437 $addBtn.remove(); 4438 }); 4439 }); 4440 4441 $(document).on("click", "a.add-to-comparelist, span.add-to-comparelist", function (e) 4442 { 4443 e.preventDefault(); 4444 4445 if ($(".comparelist-counter").first().text() < parseInt('4')) { 4446 var $addBtn = $(this); 4447 serverApiCall({ pn: $(this).attr('data-id') }, "/umbraco/api/CompareApi/AddToCompareList", $(".comparelist-counter"), 4448 function (resp) 4449 { 4450 if (resp != null && resp.IsSuccess) { 4451 TGNS.show({ 4452 title: 'Item added to compare list<br><strong>' + resp.Title + '</strong>' 4453 4454 }); 4455 $addBtn 4456 .next('span') 4457 .text('Added') 4458 .addClass('--added'); 4459 $addBtn.remove(); 4460 } 4461 }); 4462 } 4463 else { 4464 alert("It's possible to add only up to 4 items."); 4465 } 4466 }); 4467 4468 $(document).on("click", "#products-list-container .catalogue__item-top a, #products-list-container .catalogue__item-model", function (e) { 4469 e.preventDefault(); 4470 var redirectUrl = $(this).attr("href"); 4471 var catalogItem = $(this).closest('.catalogue__list-item'); 4472 var product = { 4473 PageName: catalogItem.data('category'), 4474 Name: catalogItem.data('name'), 4475 Id: catalogItem.data('model-number'), 4476 Price: catalogItem.data('price'), 4477 Brand: catalogItem.data('brand'), 4478 Color: catalogItem.data('color'), 4479 IsSameDayDelivery: catalogItem.data('same-day-delivery'), 4480 IsEnergySavingRebateAvailable: catalogItem.data('energy-saving-rebate') 4481 }; 4482 // A trick to make ctrl+click open product in a new tab AFTER gtm has sent all the data. 4483 function redirectToProductPage() { 4484 if (e.ctrlKey) { 4485 window.open(redirectUrl, '_blank'); 4486 } else { 4487 document.location = redirectUrl; 4488 } 4489 }
4490 new EnhancedEcommerce().initProductClickView(product, redirectToProductPage); 4491 }); 4492 4493 updateListCounter("/umbraco/api/WishlistApi/GetWishlistCount", $(".wishlist-counter")); 4494 updateListCounter("/umbraco/api/CompareApi/GetCompareListCount", $(".comparelist-counter")); 4495 updateListCounter("/umbraco/surface/CartApi/GetCartItemsCount", $(".cart-counter")); 4496 4497 function showBackOrderForm(modelNumber) { 4498 $('#BackorderPopup_PRODUCTID').val(modelNumber); 4499 var p = $('#BackorderPopup'); 4500 popup.trigger('show', { 4501 content: p 4502 }); 4503 $('.popup').off("mousedown"); 4504 } 4505 </script>
4505 4506 4507 4508
4508<script type="text/javascript" src="/scripts/Catalog.js"></script>
4508 4509 4510
4510<script type="text/javascript"> 4511 var catalogOptions = { 4512 // Note: Url.Action("Index", "SubCategory")' changed to: 4513 url: '/home/kitchen/home-essentials/specialty-products-cookware/', 4514 getFilterParams: getFilterParams, 4515 enhancedEcommerceEvent: sendEnhancedEcommerceData, 4516 onRequestSuccess: requestSuccessHandler 4517 } 4518 4519 $(function() { 4520 processMieleOnProductList(); 4521 catalog(catalogOptions); 4522 4523 const filterGroups = [ 4524 'category-filter-list', 4525 'brand-filter-list', 4526 'color-filter-list', 4527 'price-filter-list', 4528 'locations-filter-list', 4529 'outlet-catalog-type-filter-list', 4530 'features-filter-list' 4531 ]; 4532 4533 openFilterGroupsAndExpand(filterGroups); 4534 }); 4535 4536 function getFilterParams(selectedFilter) { 4537 var params = { 4538 category: [], 4539 brand: [], 4540 color: [], 4541 price: [], 4542 width: [], 4543 features: "", 4544 currentFilter: "", 4545 location: [], 4546 outletCatalogType: [] 4547 }; 4548 4549 if (selectedFilter) { 4550 var currentFilter = {}; 4551 currentFilter.Value = $(selectedFilter.target).val(); 4552 4553 if ($.makeArray($(selectedFilter.target).parents("[id]")).some(p => p.id === "category-filter-list")) { 4554 currentFilter.CurrentFilterType = 2; 4555 } 4556 4557 if ($.makeArray($(selectedFilter.target).parents("[id]")).some(p => p.id === "brand-filter-list")) { 4558 currentFilter.CurrentFilterType = 4; 4559 } 4560 4561 if ($.makeArray($(selectedFilter.target).parents("[id]")).some(p => p.id === "color-filter-list")) { 4562 currentFilter.CurrentFilterType = 3; 4563 } 4564 4565 if ($.makeArray($(selectedFilter.target).parents("[id]")).some(p => p.id === "price-filter-list")) { 4566 currentFilter.CurrentFilterType = 5; 4567 } 4568 4569 if ($.makeArray($(selectedFilter.target).parents("[id]")).some(p => p.id === "locations-filter-list")) { 4570 currentFilter.CurrentFilterType = 6; 4571 } 4572 4573 if ($.makeArray($(selectedFilter.target).parents("[id]")).some(p => p.id === "outlet-catalog-type-filter-list")) { 4574 currentFilter.CurrentFilterType = 7; 4575 } 4576 4577 if ($.makeArray($(selectedFilter.target).parents("[id]")).some(p => p.id === "features-filter-list")) { 4578 var grp = $(selectedFilter.target).parents('[data-feature-group-id]'); 4579 var fgi = parseInt(grp.attr('data-feature-group-id'), 10); 4580 4581 currentFilter.Value = fgi; 4582 currentFilter.CurrentFilterType = 1; 4583 } 4584 4585 // NOTE: The param will be encoded on $.ajax call. This is double encoding 4586 // params.currentFilter = encodeURIComponent(JSON.stringify(currentFilter)); 4587 params.currentFilter = JSON.stringify(currentFilter); 4588 } 4589 4590 $('#category-filter-list input:checkbox:checked').each(function() { 4591 params.category.push($(this).val()); 4592 }); 4593 $('#brand-filter-list input:checkbox:checked').each(function() { 4594 params.brand.push($(this).val()); 4595 }); 4596 $('#color-filter-list input:checkbox:checked').each(function() { 4597 params.color.push($(this).val()); 4598 }); 4599 $('#price-filter-list input:checkbox:checked').each(function() { 4600 params.price.push($(this).val()); 4601 }); 4602 $('#locations-filter-list input:checkbox:checked').each(function () { 4603 params.location.push($(this).val()); 4604 }); 4605 $('#outlet-catalog-type-filter-list input:checkbox:checked').each(function () { 4606 params.outletCatalogType.push($(this).val()); 4607 }); 4608 4609 var features = {}; 4610 4611 $('#features-filter-list input:checkbox:checked').each(function() { 4612 var $group = $(this).parents('[data-feature-group-id]'); 4613 var featureGroupId = parseInt($group.attr('data-feature-group-id'), 10); 4614 if (features[featureGroupId]) { 4615 features[featureGroupId].push($(this).val()); 4616 } else { 4617 features[featureGroupId] = [$(this).val()]; 4618 } 4619 }); 4620 4621 if (Object.keys(features).length){ 4622 params.features = btoa(JSON.stringify(features)); 4623 } 4624 4625 const sortBy = $('ul.catalogue-sort li a.selected').data('id'); 4626 4627 if (sortBy !== 'NextDayDelivery') 4628 { 4629 params.sort = sortBy; 4630 } 4631 4632 const sortOrder = $('ul.catalogue-sort li a.selected').data("order"); 4633 4634 if (sortOrder !== 'Ascending') 4635 { 4636 params.order = sortOrder; 4637 } 4638 4639 return params; 4640 } 4641 4642 function requestSuccessHandler(result) { 4643 $("#products-and-filters").html(result); 4644 updateNextDayDeliverySortOption(); 4645 sendEnhancedEcommerceData(); 4646 processMieleOnProductList(); 4647 initFilterCollapse(); 4648 $("label.checkbox").checkbox(); 4649 4650 if ($(".catalogue-filter__icon") && $(".catalogue-filter__icon").css('display') != 'none') { 4651 $(".catalogue-filter__icon").click(); 4652 } 4653 4654 const filterGroups = [ 4655 'category-filter-list', 4656 'brand-filter-list', 4657 'color-filter-list', 4658 'price-filter-list', 4659 'locations-filter-list', 4660 'outlet-catalog-type-filter-list', 4661 'features-filter-list' 4662 ]; 4663 4664 openFilterGroupsAndExpand(filterGroups); 4665 } 4666 4667 function openFilterGroupsAndExpand(groupConstNames) {
4668 groupConstNames.forEach(g => { 4669 if ($(`#${g} input:checkbox:checked`).length) { 4670 $(`#${g} .catalogue-filter__handler`).click(); 4671 4672 const viewMore = $(`#${g} .catalogue-filter__sub-more`); 4673 4674 if (viewMore) { 4675 viewMore.click(); 4676 } 4677 } else if($(`#${g} .catalogue-filter__handler[always-open]`)) { 4678 $(`#${g} .catalogue-filter__handler[always-open]`).click(); 4679 } 4680 }); 4681 } 4682 4683 function sendEnhancedEcommerceData() { 4684 var products = []; 4685 $('.catalogue__list-item').each(function(i, o) { 4686 products.push({ 4687 Name: $(o).data('name'), 4688 Id: $(o).data('model-number'), 4689 Price: $(o).data('price'), 4690 Brand: $(o).data('brand'), 4691 Category: 'SPECIALTY PRODUCTS & COOKWARE', 4692 Color: $(o).data('color'), 4693 OrderIndex: i, 4694 Link: $(o).find('.catalogue__item-top a').last().attr('href'), 4695 IsSameDayDelivery: $(o).data('same-day-delivery'), 4696 IsEnergySavingRebateAvailable: $(o).data('energy-saving-rebate') 4697 }); 4698 }); 4699 var enhancedEcommerce = new EnhancedEcommerce(); 4700 enhancedEcommerce.initProductListView(products); 4701 } 4702 </script>
4702 4703 4704 4705 <!-- Start of HubSpot Embed Code --> 4706
4706<script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/5078513.js"></script>
4706 4707 <!-- End of HubSpot Embed Code --> 4708 4709 4710
4710<script> 4711 function getBrowserData() { 4712 return { 4713 javaEnabled: window.navigator.javaEnabled(), 4714 language: window.navigator.language, 4715 colorDepth: window.screen.colorDepth, 4716 screenHeight: window.screen.height, 4717 screenWidth: window.screen.width, 4718 timeZone: new Date().getTimezoneOffset(), 4719 userAgent: window.navigator.userAgent, 4720 javascriptEnabled: true, 4721 }; 4722 } 4723 4724 function isCaptchaEnabled() { 4725 var enabled = 'False'; 4726 enabled = enabled == 'True'; 4727 4728 return enabled; 4729 } 4730 4731 var quoteRecaptchaId = null; 4732 function submitQuote(e) { 4733 e.preventDefault(); 4734 4735 // The token is prefetched after load; ensure() is a no-op resolve in the normal 4736 // case and only actually waits if the prefetch has not landed yet. 4737 tgAntiforgery.ensure().then(function () { 4738 $("#quote-form").submit(); 4739 if (typeof grecaptcha !== "undefined" && quoteRecaptchaId !== null) { 4740 grecaptcha.reset(quoteRecaptchaId); 4741 } 4742 $("#captcha-token").val(""); 4743 }); 4744 } 4745 4746 function submitQuoteCaptchaCallback(token) { 4747 $("#captcha-token").val(token); 4748 } 4749 4750 var RecaptchaCheck = function (recaptchaContainer, recaptchaElementId, formElement, tokenInputElement) { 4751 var context = this; 4752 this._elem = recaptchaContainer; 4753 this._recaptchaElementId = recaptchaElementId; 4754 this._formElement = formElement; 4755 this._tokenInputElement = tokenInputElement; 4756 this.widgetId = -99; 4757 4758 this.showRecaptcha = function () { 4759 context._elem.show(); 4760 }; 4761 4762 this.submitRequest = function (token) { 4763 if (token) { 4764 context._tokenInputElement.val(token); 4765 } 4766 }; 4767 4768 this.hideRecaptcha = function () { 4769 context._elem.hide(); 4770 }; 4771 4772 this.render = function () { 4773 context.widgetId = grecaptcha.render(document.getElementById(context._recaptchaElementId), { 4774 'sitekey': '', 4775 'callback': context.submitRequest, 4776 }); 4777 }; 4778 4779 this.getToken = function () { 4780 return grecaptcha.getResponse(context.widgetId); 4781 } 4782 } 4783 4784 var subscribeToNewsLetterController = null; 4785 function recaptchaOnloadCallback() { 4786 if (isCaptchaEnabled()) { 4787 subscribeToNewsLetterController = new RecaptchaCheck($(".recaptcha-popup"), "news-letter-recaptcha", $("#newsletter-form"), $("#newsletter-form-captcha-token")); 4788 subscribeToNewsLetterController.render(); 4789 4790 quoteRecaptchaId = grecaptcha.render(document.getElementById("quote-recaptcha"), { 4791 'sitekey': '', 4792 'callback': submitQuoteCaptchaCallback, 4793 }); 4794 } 4795 } 4796 4797 function subscribeToNewsletter() { 4798 // reCAPTCHA is loaded on demand, so the controller may not exist yet 4799 // if the user submits within the load window. Ignore the click rather 4800 // than throwing; the next one will go through. 4801 if (isCaptchaEnabled() && subscribeToNewsLetterController == null) { 4802 return; 4803 } 4804 4805 if (isCaptchaEnabled() && !subscribeToNewsLetterController._elem.is(":visible")) { 4806 subscribeToNewsLetterController.showRecaptcha(); 4807 } else { 4808 $(".footer__newsletter-error-text").text(""); 4809 var result = validateNewsLetterForm(); 4810 if (result == null) { 4811 tgAntiforgery.ensure().then(function () { 4812 $("#newsletter-form").submit(); 4813 4814 if (isCaptchaEnabled()) { 4815 subscribeToNewsLetterController.hideRecaptcha(); 4816 } 4817 }); 4818 } else { 4819 $(".footer__newsletter-error-text").text(result); 4820 } 4821 } 4822 } 4823 4824 function validateNewsLetterForm() { 4825 var element = document.getElementById("mce-EMAIL"); 4826 if (!validateEmail(element.value)) { 4827 return "Invalid email"; 4828 } 4829 4830 if (isCaptchaEnabled() && subscribeToNewsLetterController.getToken == null) { 4831 return "Invalid Captcha"; 4832 } 4833 4834 return null; 4835 } 4836 4837 function validateEmail(emailText) { 4838 return emailText.match(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/); 4839 } 4840 </script>
4840 4841</body> 4842 4843<template id="custom-search-results"> 4844 <style> 4845 .main-controls { 4846 display: flex; 4847 align-items: center; 4848 justify-content: space-between; 4849 flex-wrap: wrap; 4850 gap: 10px; 4851 padding: 12px 16px; 4852 margin-bottom: var(--hawksearch-margin); 4853 background-color: #f8f8f8; 4854 border-bottom: 2px solid #b40c1e; 4855 } 4856 4857 .toolbar { 4858 display: flex; 4859 align-items: center; 4860 gap: 16px; 4861 white-space: nowrap; 4862 } 4863 </style> 4864 4865 <hawksearch-modified-query></hawksearch-modified-query> 4866 <hawksearch-query-suggestions></hawksearch-query-suggestions> 4867 <div class="row"> 4868 <div class="column column--12 column-md--3"> 4869 <hawksearch-content-zone name="LeftTop"></hawksearch-content-zone> 4870 <hawksearch-facets-list></hawksearch-facets-list> 4871 <hawksearch-content-zone name="LeftBottom"></hawksearch-content-zone> 4872 </div> 4873 <div class="column column--12 column-md--9"> 4874 <hawksearch-content-zone name="Top"></hawksearch-content-zone> 4875 <hawksearch-content-zone name="Top2"></hawksearch-content-zone> 4876 <hawksearch-tabs></hawksearch-tabs> 4877 <hawksearch-selected-facets></hawksearch-selected-facets> 4878 <div class="main-controls"> 4879 <hawksearch-pagination></hawksearch-pagination> 4880 <div class="toolbar"> 4881 <hawksearch-page-size></hawksearch-page-size> 4882 <hawksearch-sorting></hawksearch-sorting> 4883 </div> 4884 </div> 4885 <hawksearch-search-results-list></hawksearch-search-results-list> 4886 <div style="display: flex; justify-content: center; padding: 16px 0;"> 4887 <hawksearch-pagination></hawksearch-pagination> 4888 </div> 4889 <hawksearch-content-zone name="Bottom"></hawksearch-content-zone> 4890 <hawksearch-content-zone name="Bottom2"></hawksearch-content-zone> 4891 </div> 4892 </div> 4893</template> 4894 4895<template id="custom-autocomplete"> 4896 <style> 4897 .autocomplete { 4898 padding-left: 6px; 4899 padding-right: 6px; 4900 } 4901 4902 .autocomplete__product { 4903 display: inline-flex; 4904 flex-direction: row; 4905 color: #8b2300; 4906 justify-content: space-between; 4907 } 4908 4909 .autocomplete__product__image { 4910 width: 70px; 4911 height: auto; 4912 } 4913 4914 .autocomplete__product__image img { 4915 max-width: 70px; 4916 max-height: 70px; 4917 float: left; 4918 } 4919 4920 .autocomplete__product__title { 4921 font-weight: 400; 4922 } 4923 4924 .autocomplete__product__price { 4925 display: none; 4926 } 4927 </style> 4928 4929 <div class="autocomplete"> 4930 <div class="row"> 4931 {{#if products.results.length}} 4932 <div class="column column--12"> 4933 <span class="autocomplete__title autocomplete__title--products">{{products.title}}</span> 4934 <div class="row autocomplete__products"> 4935 {{#each products.results}} 4936 <div class="column column--12"> 4937 <div class="autocomplete__product"> 4938 <a hawksearch-product="{{id}}" href="{{url}}" class="autocomplete__product__image"> 4939 <img hawksearch-image src="{{imageUrl}}" alt="" /> 4940 </a> 4941 <span class="autocomplete__product__title"> 4942 <a hawksearch-product="{{id}}" href="{{url}}">{{html title}}</a> 4943 </span> 4944 {{#if rating}} 4945 <hawksearch-rating rating="{{rating}}"></hawksearch-rating> 4946 {{/if}} 4947 {{#unless (eq price undefined)}} 4948 <div class="autocomplete__product__price" itemprop="offers" itemtype="http://schema.org/Offer" itemscope> 4949 {{#if (lt salePrice price)}}
4950 <span class="autocomplete__product__price__original">{{currency price}}</span> 4951 <span class="autocomplete__product__price__current" itemprop="price">{{currency salePrice}}</span> 4952 {{else}} 4953 <span class="autocomplete__product__price-__current" itemprop="price">{{currency price}}</span> 4954 {{/if}} 4955 </div> 4956 {{/unless}} 4957 <hawksearch-variant-selector></hawksearch-variant-selector> 4958 </div> 4959 </div> 4960 {{/each}} 4961 </div> 4962 </div> 4963 {{/if}} 4964 {{#if (or categories.results.length queries.results.length productSuggestedQueries.results.length contentSuggestedQueries.results.length)}} 4965 <div class="column column--12 column-md--4"> 4966 {{#if productSuggestedQueries.results.length}} 4967 <span class="autocomplete__title autocomplete__title--queries">{{productSuggestedQueries.title}}</span> 4968 <ul class="autocomplete__list"> 4969 {{#each productSuggestedQueries.results}} 4970 <li> 4971 <a hawksearch-query="{{query}}" href="{{url}}">{{query}}</a> 4972 </li> 4973 {{/each}} 4974 </ul> 4975 {{/if}} 4976 {{#if contentSuggestedQueries.results.length}} 4977 <span class="autocomplete__title autocomplete__title--queries">{{contentSuggestedQueries.title}}</span> 4978 <ul class="autocomplete__list"> 4979 {{#each contentSuggestedQueries.results}} 4980 <li> 4981 <a hawksearch-query="{{query}}" href="{{url}}">{{query}}</a> 4982 </li> 4983 {{/each}} 4984 </ul> 4985 {{/if}} 4986 {{#if categories.results.length}} 4987 <span class="autocomplete__title autocomplete__title--categories">{{categories.title}}</span> 4988 <ul class="autocomplete__list"> 4989 {{#each categories.results}} 4990 <li> 4991 <a hawksearch-category-field="{{field}}" hawksearch-category-value="{{value}}" href="{{url}}">{{html title}}</a> 4992 </li> 4993 {{/each}} 4994 </ul> 4995 {{/if}} 4996 {{#if queries.results.length}} 4997 <span class="autocomplete__title autocomplete__title--queries">{{queries.title}}</span> 4998 <ul class="autocomplete__list"> 4999 {{#each queries.results}} 5000 <li> 5001 <a hawksearch-query="{{query}}" href="{{url}}">{{query}}</a> 5002 </li> 5003 {{/each}} 5004 </ul> 5005 {{/if}} 5006 </div> 5007 {{/if}} 5008 </div> 5009 <div class="autocomplete__view-all"> 5010 <a hawksearch-view-all>{{viewAllText}}</a> 5011 </div> 5012 </div> 5013</template> 5014 5015<template id="custom-tabs"> 5016 <style> 5017 .tabs__item { 5018 border-bottom: 5px solid #b40c1e; 5019 } 5020 5021 .tabs__item:hover { 5022 color: #b40c1e; 5023 } 5024 </style> 5025 5026 <ul class="tabs{{attribute ' tabs--list' (gt tabs.length 4)}}"> 5027 {{#each tabs}} 5028 {{#unless (eq value "Content")}} 5029 <li class="tabs__item{{attribute ' tabs__item--selected' selected}}" hawksearch-tab-value="{{value}}"> 5030 {{title}} 5031 {{#if @root.displayCount}}({{count}}){{/if}} 5032 </li> 5033 {{/unless}} 5034 {{/each}} 5035 </ul> 5036</template> 5037 5038<template id="custom-pagination"> 5039 <style> 5040 .pagination__page:hover { 5041 color: #fff; 5042 } 5043 </style> 5044 <div class="pagination"> 5045 {{#if strings.summary}} 5046 <div class="pagination__summary">{{strings.summary}}</div> 5047 {{/if}} 5048 <div class="pagination__pages"> 5049 {{#if displayFirstLink}}
5050 <span hawksearch-page="1" class="link pagination__page pagination__page--first" title="{{strings.first}}"> 5051 <hawksearch-icon name="chevron-back" size="1.2em"></hawksearch-icon> 5052 </span> 5053 {{/if}} 5054 {{#if displayPreviousLink}} 5055 <a 5056 hawksearch-page="{{subtract page 1}}" 5057 rel="prev" 5058 href="{{pageUrl (subtract page 1)}}" 5059 class="pagination__page pagination__page--previous" 5060 title="{{strings.previous}}" 5061 > 5062 <hawksearch-icon name="chevron-left" size="1.2em"></hawksearch-icon> 5063 </a> 5064 {{/if}} 5065 {{#each pages}} 5066 {{#if (eq this @root.page)}} 5067 <span class="pagination__page pagination__page--selected">{{this}}</span> 5068 {{else}} 5069 <a hawksearch-page="{{this}}" href="{{pageUrl this}}" class="pagination__page">{{this}}</a> 5070 {{/if}} 5071 {{/each}} 5072 {{#if displayNextLink}} 5073 <a 5074 hawksearch-page="{{add page 1}}" 5075 rel="next" 5076 href="{{pageUrl (add page 1)}}" 5077 class="pagination__page pagination__page--next" 5078 title="{{strings.next}}" 5079 > 5080 <hawksearch-icon name="chevron-right" size="1.2em"></hawksearch-icon> 5081 </a> 5082 {{/if}} 5083 {{#if displayLastLink}} 5084 <span hawksearch-page="{{totalPages}}" class="link pagination__page pagination__page--last" title="{{strings.last}}"> 5085 <hawksearch-icon name="chevron-forward" size="1.2em"></hawksearch-icon> 5086 </span> 5087 {{/if}} 5088 </div> 5089 </div> 5090</template> 5091 5092<template id="custom-search-results-item"> 5093 <style> 5094 a:hover { 5095 color: #b40c1e; 5096 } 5097 5098 .search-results-list__item--product { 5099 border: 1px solid #e0e0e0; 5100 border-radius: 4px; 5101 transition: border-color 0.2s, box-shadow 0.2s; 5102 } 5103 5104 .search-results-list__item--product:hover { 5105 border-color: #b40c1e; 5106 box-shadow: 0 2px 8px rgba(0,0,0,0.1); 5107 } 5108 5109 .button--full-width { 5110 display: block; 5111 width: 100%; 5112 } 5113 5114 .add-to-cart, .add-package-to-cart, .miele-cart-item-add, .quote, .contact-us { 5115 font-weight: 700; 5116 font-size: 14px; 5117 line-height: 20px; 5118 font-family: Lato, sans-serif; 5119 display: inline-block; 5120 margin: 0; 5121 padding: 10px 35px; 5122 border: 1px solid #b40c1e; 5123 border-radius: 40px; 5124 background: none; 5125 color: #b40c1e; 5126 text-align: center; 5127 text-decoration: none; 5128 text-transform: none; 5129 letter-spacing: normal; 5130 transition: color .3s, background .3s, box-shadow .3s; 5131 cursor: pointer; 5132 } 5133 5134 .add-to-cart:hover, .add-package-to-cart:hover, .miele-cart-item-add:hover, .quote:hover, .contact-us:hover { 5135 transition: color .1s, background .1s, box-shadow .1s; 5136 box-shadow: 0 5px 15px 0 rgba(0,0,0,.4); 5137 background: #b40c1e; 5138 color: #fff; 5139 } 5140 5141 .search-results-list__item { 5142 display: flex; 5143 flex-direction: column; 5144 height: 100%; 5145 } 5146 5147 .search-results-item__image { 5148 position: relative; 5149 min-height: 200px; 5150 max-height: 200px; 5151 overflow: hidden; 5152 padding: 8px; 5153 } 5154 5155 .search-results-item__image .search-results-list__item__image { 5156 display: flex; 5157 align-items: center; 5158 justify-content: center; 5159 height: 100%; 5160 } 5161 5162 .search-results-item__image .search-results-list__item__image img { 5163 max-height: 180px; 5164 width: auto; 5165 object-fit: contain; 5166 } 5167 5168 .search-results-item__badges { 5169 position: absolute; 5170 top: 2em; 5171 left: 0; 5172 z-index: 1; 5173 } 5174 5175 .search-results-list__item__title { 5176 font-size: 14px; 5177 line-height: 1.3; 5178 display: -webkit-box; 5179 -webkit-line-clamp: 2; 5180 -webkit-box-orient: vertical; 5181 overflow: hidden; 5182 min-height: 2.6em; 5183 } 5184 5185 .search-results-list__item__description { 5186 font-size: 0.875rem; 5187 color: var(--hawksearch-color-secondary); 5188 overflow-wrap: break-word; 5189 display: -webkit-box; 5190 -webkit-line-clamp: 1; 5191 -webkit-box-orient: vertical; 5192 overflow: hidden; 5193 min-height: 1.4em; 5194 } 5195 5196 .search-results-list__item__price__original { 5197 color: var(--hawksearch-color-accent); 5198 } 5199 5200 .search-results-list__item__price__current { 5201 font-weight: 700; 5202 color: var(--hawksearch-color-accent); 5203 } 5204 5205 .search-results-list__item__pricing { 5206 margin-top: 8px; 5207 } 5208 5209 .search-results-list__item__price:last-child { 5210 margin-bottom: var(--hawksearch-margin); 5211 } 5212 5213 .search-results-list__item__content { 5214 display: flex; 5215 flex-direction: column; 5216 flex-grow: 1; 5217 padding: var(--padding-sm); 5218 } 5219 5220 .search-results-list__item__info { 5221 flex-grow: 1; 5222 } 5223 5224 .search-results-list__item__actions { 5225 margin-top: auto; 5226 padding-top: var(--padding-sm); 5227 } 5228 5229 .special-sale__label { 5230 font-size: 12px; 5231 color: #b40c1e; 5232 margin-top: 4px; 5233 margin-bottom: 6px; 5234 } 5235 5236 .search-results-list__item__sale-indicator { 5237 position: absolute; 5238 top: 8px; 5239 right: 8px; 5240 z-index: 2; 5241 color: #fff; 5242 background: #b40c1e; 5243 font-size: 11px; 5244 padding: 3px 8px; 5245 border-radius: 3px; 5246 } 5247 </style> 5248 {{#if (loadingHawkSearchResults)}} 5249 <div class="search-results-list__item search-results-list__item--{{type}}"> 5250 {{#if (eq type "product")}} 5251 <div class="search-results-item__image"> 5252 {{#if (eq attributes.on_sale.[0] "true")}}
5253 <span class="search-results-list__item__sale-indicator"><strong>On Sale</strong></span> 5254 {{/if}} 5255 <div class="search-results-item__badges"> 5256 {{#if (or (eq attributes.eco_product.[0] "yes") (eq attributes.eco_product.[0] "true"))}} 5257 <img style="display: block" src="/../../media/3642/goe_eco_leaf_white-vector.png?width=80" /> 5258 {{/if}} 5259 {{#if (eq attributes.next_day_delivery.[0] "true")}} 5260 <img style="display: block" src="/../../media/3823/goe_instock_icon.png?width=80" /> 5261 {{/if}} 5262 5263 {{#if (eq (itemType attributes.unique_id) "clearance")}} 5264 <img style="display: block" src="/../../media/8039/goe_clearance_badge_2024.png?width=80" /> 5265 {{/if}} 5266 </div> 5267 <a hawksearch-link href="{{url}}" class="search-results-list__item__image" aria-label="{{title}}"> 5268 <img hawksearch-image src="{{imageUrl}}" alt="" /> 5269 </a> 5270 </div> 5271 5272 <div class="search-results-list__item__content"> 5273 <div class="search-results-list__item__info"> 5274 <div class="search-results-list__item__title"> 5275 <a hawksearch-link href="{{url}}">{{title}}</a> 5276 </div> 5277 <span class="search-results-list__item__description">{{attributes.brand}} {{attributes.sku}}</span> 5278 5279 <div class="search-results-list__item__pricing"> 5280 {{#if attributes.sale_end_date.[0]}} 5281 <div class="special-sale__label"> 5282 <span><strong>SALE</strong> UNTIL {{attributes.sale_end_date.[0]}}</span> 5283 </div> 5284 {{/if}} 5285 5286 {{#unless (eq price undefined)}} 5287 <div class="search-results-list__item__price" itemprop="offers" itemtype="http://schema.org/Offer" itemscope> 5288 {{#if (lt salePrice price)}} 5289 <span class="search-results-list__item__price__original">{{currency price}}</span><br> 5290 <span class="search-results-list__item__price__current" itemprop="price">{{currency salePrice}}</span> 5291 {{else}} 5292 <span class="search-results-list__item__price__current" itemprop="price">{{currency price}}</span> 5293 {{/if}} 5294 </div> 5295 {{/unless}} 5296 </div> 5297 </div> 5298 5299 <div class="search-results-list__item__actions"> 5300 {{#if (or (eq (itemType attributes.unique_id) "product") (eq (itemType attributes.unique_id) "clearance"))}} 5301 <!-- <hawksearch-variant-selector></hawksearch-variant-selector> --> 5302 {{#if (eq attributes.catalog_button_type.[0] "AddToCart")}} 5303 {{#if (lt salePrice price)}} 5304 <div class="catalogue__list-item" style="position: relative; margin-top: var(--padding-sm);" data-id={{id}} data-name={{title}} data-price={{salePrice}} data-model-number={{sku}} data-brand={{attributes.brand}} data-color={{attributes.color}} data-same-day-delivery={{attributes.next_day_delivery}} data-energy-saving-rebate={{attributes.energy_rebate_available}} data-category={{attributes.category_level_1}}> 5305 <p class="catalogue__item-cart"><a href="#" class="btn btn_min add-to-cart" data-id={{id}} data-name={{title}} data-price={{salePrice}} data-model-number={{sku}} data-brand={{attributes.brand}} data-color={{attributes.color}} data-same-day-delivery={{attributes.next_day_delivery}} data-energy-saving-rebate={{attributes.energy_rebate_available}} data-category={{attributes.category_level_1}}>
5305Add to Cart</a></p> 5306 </div> 5307 {{else}} 5308 <div class="catalogue__list-item" style="position: relative; margin-top: var(--padding-sm);" data-id={{id}} data-name={{title}} data-price={{price}} data-model-number={{sku}} data-brand={{attributes.brand}} data-color={{attributes.color}} data-same-day-delivery={{attributes.next_day_delivery}} data-energy-saving-rebate={{energy_rebate_available}} data-category={{category_level_1}}> 5309 <p class="catalogue__item-cart"><a href="#" class="btn btn_min add-to-cart" data-id={{id}} data-name={{title}} data-price={{salePrice}} data-model-number={{sku}} data-brand={{attributes.brand}} data-color={{attributes.color}} data-same-day-delivery={{attributes.next_day_delivery}} data-energy-saving-rebate={{attributes.energy_rebate_available}} data-category={{attributes.category_level_1}}>Add to Cart</a></p> 5310 </div> 5311 {{/if}} 5312 {{/if}} 5313 5314 {{#if (eq attributes.catalog_button_type.[0] "RequestAQuote")}} 5315 <p class="catalogue__item-cart"><a id="{{attributes.unique_id}}" href="#" class="btn btn_min quote" data-model-number={{sku}}>Request a quote</a></p> 5316 {{/if}} 5317 5318 {{#if (eq attributes.catalog_button_type.[0] "ContactStore")}} 5319 <p class="catalogue__item-cart"><a href="/home/locations" class="btn btn_min contact-us" data-id={{id}}>Contact Us</a></p> 5320 {{/if}} 5321 5322 {{#if (eq attributes.catalog_button_type.[0] "MieleAddToCartForAProductWithOneModel")}} 5323 <p class="catalogue__item-cart"><a href="http://work2.whitecapcanada.com/miele2/Goemans/1323/en/Redirect/AddToCart?ArticleNumber={{attributes.article_number.[0]}}&addtocart=on" target="_blank" class="btn btn_min miele-cart-item-add">Add to your Miele Cart</a></p> 5324 {{/if}} 5325 5326 {{#if (eq attributes.catalog_button_type.[0] "MieleAddToCart")}} 5327 <p class="catalogue__item-cart"><a href="#" class="btn btn_min add-to-cart miele-cart-item-add" data-id={{attributes.product_id}}>Add to your Miele Cart</a></p> 5328 {{/if}} 5329 {{/if}} 5330 5331 {{#if (eq (itemType attributes.unique_id) "package")}} 5332 {{#if (eq attributes.catalog_button_type.[0] "AddToWishList")}} 5333 <p class="catalogue__item-cart"> 5334 <a href="#" class="btn btn_min add-to-wishlist" data-id="pk-{{attributes.package_id}}">Add to Wishlist</a> 5335 </p> 5336 {{else}} 5337 <p class="catalogue__item-cart"> 5338 <a href="#" class="btn btn_min add-package-to-cart" 5339 data-id="{{attributes.package_id}}" 5340 data-category="{{attributes.category_level_1}}" 5341 data-name="{{attributes.name}}" 5342 data-brand="{{attributes.brand}}" 5343 data-price="{{attributes.price_sale}}">Add package to Cart</a> 5344 </p> 5345 {{/if}} 5346 {{/if}} 5347 </div> 5348 </div> 5349 {{/if}} 5350 {{else}} 5351 <div class="search-results-list__item__title"> 5352 <a hawksearch-link href={{url}}>{{title}}</a> 5353 </div> 5354 {{#if description}} 5355 <p>{{description}}</p> 5356 {{/if}} 5357 {{/if}} 5358 </div> 5359 </div> 5360</template> 5361 5362<template id="custom-recommendations-item"> 5363 <style> 5364 .rec-card { 5365 display: flex; 5366 flex-direction: column; 5367 height: 100%; 5368 border: 1px solid #e0e0e0; 5369 border-radius: 4px; 5370 overflow: hidden; 5371 transition: border-color 0.2s, box-shadow 0.2s; 5372 } 5373 5374 .rec-card:hover { 5375 border-color: #b40c1e; 5376 box-shadow: 0 2px 8px rgba(0,0,0,0.1); 5377 } 5378 5379 .rec-card__image-wrap { 5380 position: relative; 5381 display: flex; 5382 align-items: center; 5383 justify-content: center; 5384 min-height: 180px; 5385 max-height: 180px; 5386 padding: 12px; 5387 background: #fafafa; 5388 } 5389 5390 .rec-card__image-wrap img { 5391 max-height: 160px; 5392 max-width: 100%; 5393 object-fit: contain; 5394 } 5395 5396 .rec-card__sale-badge { 5397 position: absolute; 5398 top: 8px; 5399 right: 8px; 5400 z-index: 2; 5401 color: #fff; 5402 background: #b40c1e; 5403 font-size: 11px; 5404 font-weight: 700; 5405 padding: 3px 8px; 5406 border-radius: 3px; 5407 text-transform: uppercase; 5408 } 5409 5410 .rec-card__content { 5411 display: flex; 5412 flex-direction: column; 5413 flex-grow: 1; 5414 padding: 12px; 5415 } 5416 5417 .rec-card__info { 5418 flex-grow: 1; 5419 } 5420 5421 .rec-card__title { 5422 font-size: 0.875rem; 5423 line-height: 1.3; 5424 display: -webkit-box; 5425 -webkit-line-clamp: 2; 5426 -webkit-box-orient: vertical; 5427 overflow: hidden; 5428 min-height: 2.6em; 5429 } 5430 5431 .rec-card__title a { 5432 color: inherit; 5433 text-decoration: none; 5434 } 5435 5436 .rec-card__title a:hover { 5437 color: #b40c1e; 5438 } 5439 5440 .rec-card__brand { 5441 font-size: 0.8rem; 5442 color: #999; 5443 margin-top: 4px; 5444 } 5445 5446 .rec-card__sale-label { 5447 font-size: 12px; 5448 color: #b40c1e; 5449 margin-top: 6px; 5450 } 5451 5452 .rec-card__price { 5453 margin-top: 8px; 5454 } 5455
5456 .rec-card__price-original { 5457 color: #999; 5458 text-decoration: line-through; 5459 font-size: 0.85rem; 5460 } 5461 5462 .rec-card__price-current { 5463 font-weight: 700; 5464 font-size: 1rem; 5465 color: #b40c1e; 5466 } 5467 5468 .rec-card__cta { 5469 margin-top: auto; 5470 padding-top: 12px; 5471 } 5472 5473 .rec-card__btn { 5474 display: block; 5475 width: 100%; 5476 text-align: center; 5477 text-decoration: none; 5478 font-weight: 700; 5479 font-size: 13px; 5480 font-family: Lato, sans-serif; 5481 padding: 8px 16px; 5482 border: 1px solid #b40c1e; 5483 border-radius: 40px; 5484 background: none; 5485 color: #b40c1e; 5486 text-transform: none; 5487 letter-spacing: normal; 5488 transition: color 0.2s, background 0.2s; 5489 cursor: pointer; 5490 } 5491 5492 .rec-card__btn:hover { 5493 background: #b40c1e; 5494 color: #fff; 5495 } 5496 </style> 5497 <div class="rec-card"> 5498 <a hawksearch-link href="{{url}}" class="rec-card__image-wrap" aria-label="{{title}}"> 5499 {{#if (eq attributes.on_sale.[0] "true")}} 5500 <span class="rec-card__sale-badge">Sale</span> 5501 {{/if}} 5502 <img hawksearch-image src="{{imageUrl}}" alt="" /> 5503 </a> 5504 5505 <div class="rec-card__content"> 5506 <div class="rec-card__info"> 5507 <div class="rec-card__title"> 5508 <a hawksearch-link href="{{url}}">{{title}}</a> 5509 </div> 5510 <div class="rec-card__brand">{{attributes.brand}}</div> 5511 5512 {{#if attributes.sale_end_date.[0]}} 5513 <div class="rec-card__sale-label"> 5514 <strong>SALE</strong> Until {{attributes.sale_end_date.[0]}} 5515 </div> 5516 {{/if}} 5517 5518 {{#unless (eq price undefined)}} 5519 <div class="rec-card__price" itemprop="offers" itemtype="http://schema.org/Offer" itemscope> 5520 {{#if (lt salePrice price)}} 5521 <span class="rec-card__price-original">{{currency price}}</span><br> 5522 <span class="rec-card__price-current" itemprop="price">{{currency salePrice}}</span> 5523 {{else}} 5524 <span class="rec-card__price-current" itemprop="price">{{currency price}}</span> 5525 {{/if}} 5526 </div> 5527 {{/unless}} 5528 </div> 5529 5530 <div class="rec-card__cta"> 5531 <a hawksearch-link href="{{url}}" class="rec-card__btn">{{viewLabel attributes.unique_id.[0] type}}</a> 5532 </div> 5533 </div> 5534 </div> 5535</template> 5536 5537<template id="custom-smartresponse"> 5538 <style> 5539 .smart-response { 5540 background: #f9f9f9; 5541 border: 1px solid #e0e0e0; 5542 border-radius: 8px; 5543 padding: 16px 20px; 5544 margin-bottom: 20px; 5545 font-size: 0.95rem; 5546 line-height: 1.6; 5547 color: #2e2e2e; 5548 } 5549 5550 .smart-response__header { 5551 display: flex; 5552 align-items: center; 5553 gap: 8px; 5554 margin-bottom: 10px; 5555 font-weight: 600; 5556 color: #b40c1e; 5557 } 5558 5559 .smart-response__content { 5560 white-space: pre-wrap; 5561 } 5562 5563 .smart-response__content p { 5564 margin: 0 0 8px; 5565 } 5566 5567 .smart-response__content a { 5568 color: #b40c1e; 5569 text-decoration: underline; 5570 } 5571 </style> 5572 {{#if response}} 5573 <div class="smart-response"> 5574 <div class="smart-response__header"> 5575 <hawksearch-icon name="sparkles" size="1.2em"></hawksearch-icon> 5576 <span>AI-Powered Answer</span> 5577 </div> 5578 <div class="smart-response__content"> 5579 {{{response}}} 5580 </div> 5581 </div> 5582 {{/if}} 5583</template> 5584
5585<script> 5586 // Empty-query search (search-button click or Enter key): show a "Type 5587 // something to search" prompt. HawkSearch re-renders the field and resets the 5588 // placeholder, so a MutationObserver re-applies it until the user types. The 5589 // message stays on the placeholder attribute (never the value) so it can't be 5590 // searched by accident. 5591 function tgSearchPrompt(el) { 5592 var root = el.getRootNode(); 5593 var input = root.querySelector('[hawksearch-input]'); 5594 if (!input) return; 5595 var MSG = 'Type something to search'; 5596 input.placeholder = MSG; 5597 input.focus(); 5598 // Flash the search bar (brand-coloured glow pulse) to draw attention. 5599 // The class lives on the stable shadow host so HawkSearch re-renders 5600 // don't wipe it; remove + reflow + re-add restarts the animation. 5601 var host = root.host; 5602 if (host) { 5603 clearTimeout(host.__tgFlashTimer); 5604 host.classList.remove('tg-search-flash'); 5605 void host.offsetWidth; 5606 host.classList.add('tg-search-flash'); 5607 host.__tgFlashTimer = setTimeout(function () { 5608 host.classList.remove('tg-search-flash'); 5609 }, 700); 5610 } 5611 if (root.__tgSearchPromptObserver) return; 5612 var observer = new MutationObserver(function () { 5613 var current = root.querySelector('[hawksearch-input]'); 5614 if (!current) return; 5615 if (current.value.trim()) { 5616 observer.disconnect(); 5617 root.__tgSearchPromptObserver = null; 5618 return; 5619 } 5620 if (current.placeholder !== MSG) { 5621 current.placeholder = MSG; 5622 } 5623 }); 5624 observer.observe(root, { childList: true, subtree: true, attributes: true, attributeFilter: ['placeholder'] }); 5625 root.__tgSearchPromptObserver = observer; 5626 } 5627</script>
5627 5628
5629<script> 5630 // Drag-and-drop modal helper for HawkSearch visual search. Triggered from 5631 // the camera icon inside <template id="custom-visualsearch-field">. The 5632 // modal hosts the elements carrying HawkSearch's three required data 5633 // attributes, so the Rapid UI library's drag-handling / base64 / search 5634 // dispatch all run unchanged inside the dialog. 5635 window.tgVisualSearch = (function () { 5636 const MAX_BYTES = 4 * 1024 * 1024; 5637 // JFIF files report MIME image/jpeg, so MIME-based validation accepts 5638 // them. The .jfif extension check is a defensive fallback only. 5639 const ALLOWED_MIMES = ['image/jpeg', 'image/png', 'image/webp', 'image/avif']; 5640 const STATE = { open: null }; 5641 5642 function validate(file) { 5643 if (!file) return { ok: false, msg: 'No file selected.' }; 5644 if (file.size > MAX_BYTES) { 5645 return { ok: false, msg: 'That image is over 4 MB. Please choose a smaller one.' }; 5646 } 5647 const isJfif = (file.name || '').toLowerCase().endsWith('.jfif'); 5648 if (!ALLOWED_MIMES.includes(file.type) && !isJfif) { 5649 return { ok: false, msg: 'Unsupported format. Use JPG, PNG, WEBP, AVIF, or JFIF.' }; 5650 } 5651 return { ok: true }; 5652 } 5653 5654 function showError(msg) { 5655 if (!STATE.open) return; 5656 STATE.open.status.hidden = true; 5657 STATE.open.error.textContent = msg; 5658 STATE.open.error.hidden = false; 5659 } 5660 5661 function clearError() { 5662 if (!STATE.open) return; 5663 STATE.open.error.hidden = true; 5664 STATE.open.error.textContent = ''; 5665 } 5666 5667 function onFileChange(e) { 5668 const file = e.target.files && e.target.files[0]; 5669 const result = validate(file); 5670 if (!result.ok) { 5671 e.stopImmediatePropagation(); 5672 e.preventDefault(); 5673 e.target.value = ''; 5674 showError(result.msg); 5675 return; 5676 } 5677 clearError(); 5678 } 5679 5680 function onDrop(e) { 5681 const file = e.dataTransfer && e.dataTransfer.files && e.dataTransfer.files[0]; 5682 const result = validate(file); 5683 if (!result.ok) { 5684 e.stopImmediatePropagation(); 5685 e.preventDefault(); 5686 showError(result.msg); 5687 return; 5688 } 5689 clearError(); 5690 } 5691 5692 function onDragEnter(e) { 5693 e.preventDefault(); 5694 if (STATE.open) STATE.open.dropArea.classList.add('vs-drop--active'); 5695 } 5696 5697 function onDragOver(e) { 5698 e.preventDefault(); 5699 } 5700 5701 function onDragLeave(e) { 5702 // Ignore leave events on nested children so the highlight doesn't flicker. 5703 if (!STATE.open || e.target !== STATE.open.dropArea) return; 5704 STATE.open.dropArea.classList.remove('vs-drop--active'); 5705 } 5706 5707 function onPaste(e) { 5708 if (!STATE.open) return; 5709 const items = e.clipboardData && e.clipboardData.items; 5710 if (!items) return; 5711 for (let i = 0; i < items.length; i++) { 5712 const item = items[i]; 5713 if (item.kind === 'file' && item.type && item.type.indexOf('image/') === 0) { 5714 const file = item.getAsFile(); 5715 const result = validate(file); 5716 if (!result.ok) { showError(result.msg); return; } 5717 clearError(); 5718 // Populate the real file input so HawkSearch's own change 5719 // listener runs the normal upload + search path. 5720 const dt = new DataTransfer(); 5721 dt.items.add(file); 5722 STATE.open.fileInput.files = dt.files; 5723 STATE.open.fileInput.dispatchEvent(new Event('change', { bubbles: true })); 5724 return; 5725 } 5726 } 5727 } 5728 5729 // Single cleanup path. Invoked from the dialog's native 'close' event, 5730 // which fires whether the dialog closed via Esc, our close() call, or 5731 // the X button â so all close paths share one teardown. 5732 function cleanup() { 5733 const ctx = STATE.open; 5734 if (!ctx) return; 5735 5736 ctx.fileInput.removeEventListener('change', onFileChange, true); 5737 ctx.dropArea.removeEventListener('drop', onDrop, true); 5738 ctx.dropArea.removeEventListener('dragenter', onDragEnter); 5739 ctx.dropArea.removeEventListener('dragover', onDragOver); 5740 ctx.dropArea.removeEventListener('dragleave', onDragLeave); 5741 document.removeEventListener('paste', onPaste); 5742 ctx.dialog.removeEventListener('click', ctx.onBackdropClick); 5743 5744 ctx.dropArea.classList.remove('vs-drop--active'); 5745 ctx.fileInput.value = ''; 5746 ctx.error.hidden = true; 5747 ctx.error.textContent = ''; 5748 ctx.status.hidden = true; 5749 const display = ctx.dialog.querySelector('[hawksearch-visualsearch-display]'); 5750 if (display) display.innerHTML = ''; 5751 5752 // Return dialog to its original shadow-root parent so the next 5753 // open() finds it via getRootNode().getElementById('vs-dialog'). 5754 if (ctx.originalParent && ctx.dialog.parentNode !== ctx.originalParent) { 5755 ctx.originalParent.appendChild(ctx.dialog); 5756 } 5757 5758 if (ctx.prevFocus && typeof ctx.prevFocus.focus === 'function') { 5759 try { ctx.prevFocus.focus(); } catch (_) { /* node may be gone */ } 5760 } 5761 STATE.open = null; 5762 } 5763 5764 // Promote the shadow-scoped styles to document.head once so the dialog 5765 // still looks right after we move it out of the shadow root. Handles 5766 // both <style> elements and adoptedStyleSheets (Rapid UI may use 5767 // either). Selectors are all .vs-* â safe to apply globally. 5768 function ensureGlobalStyles(shadowRoot) { 5769 if (document.getElementById('tg-visualsearch-global-styles')) return; 5770 if (!shadowRoot) return; 5771 let cssText = ''; 5772 const styleEls = shadowRoot.querySelectorAll 5773 ? shadowRoot.querySelectorAll('style') 5774 : [];
5775 styleEls.forEach(function (el) { cssText += el.textContent + '\n'; }); 5776 if (shadowRoot.adoptedStyleSheets) { 5777 for (let i = 0; i < shadowRoot.adoptedStyleSheets.length; i++) { 5778 try { 5779 const rules = shadowRoot.adoptedStyleSheets[i].cssRules; 5780 for (let j = 0; j < rules.length; j++) { 5781 cssText += rules[j].cssText + '\n'; 5782 } 5783 } catch (_) { /* cross-origin / restricted sheet */ } 5784 } 5785 } 5786 if (!cssText.trim()) return; 5787 const cloned = document.createElement('style'); 5788 cloned.id = 'tg-visualsearch-global-styles'; 5789 cloned.textContent = cssText; 5790 document.head.appendChild(cloned); 5791 } 5792 5793 function open(triggerEl) { 5794 // Each <hawksearch-visualsearch-field> has its own shadow root. 5795 // Resolve the dialog within the SAME root as the trigger so multiple 5796 // instances on a page don't cross-talk. 5797 const root = triggerEl.getRootNode(); 5798 const dialog = root.getElementById ? root.getElementById('vs-dialog') : null; 5799 if (!dialog) return; 5800 // If a modal is already open (e.g. from another visualsearch-field 5801 // instance on the page), close it first so this trigger can take 5802 // over. dialog.close() fires the 'close' event, which runs 5803 // cleanup() synchronously and nulls STATE.open. 5804 if (STATE.open) STATE.open.dialog.close(); 5805 5806 // Move the dialog out of the shadow root into document.body so it 5807 // survives the host being hidden by responsive breakpoints (the 5808 // desktop/mobile header swap). Restored on cleanup(). 5809 ensureGlobalStyles(root); 5810 const originalParent = dialog.parentNode; 5811 document.body.appendChild(dialog); 5812 5813 const ctx = { 5814 root: root, 5815 originalParent: originalParent, 5816 dialog: dialog, 5817 fileInput: dialog.querySelector('[hawksearch-visualsearch-fileinput]'), 5818 dropArea: dialog.querySelector('[hawksearch-visualsearch-droparea]'), 5819 error: dialog.querySelector('.vs-drop__error'), 5820 status: dialog.querySelector('.vs-drop__status'), 5821 prevFocus: document.activeElement, 5822 onBackdropClick: function (e) { if (e.target === dialog) close(dialog); } 5823 }; 5824 STATE.open = ctx; 5825 5826 ctx.fileInput.addEventListener('change', onFileChange, true); 5827 ctx.dropArea.addEventListener('drop', onDrop, true); 5828 ctx.dropArea.addEventListener('dragenter', onDragEnter); 5829 ctx.dropArea.addEventListener('dragover', onDragOver); 5830 ctx.dropArea.addEventListener('dragleave', onDragLeave); 5831 document.addEventListener('paste', onPaste); 5832 dialog.addEventListener('click', ctx.onBackdropClick); 5833 dialog.addEventListener('close', cleanup, { once: true }); 5834 5835 dialog.showModal(); 5836 } 5837 5838 function close(_closeEl) { 5839 if (!STATE.open) return; 5840 STATE.open.dialog.close(); // triggers 'close' event â cleanup() 5841 } 5842 5843 // Auto-close + in-flight state, piggy-backing on the same 5844 // requestType === 'ImageData' convention already used by the 5845 // page-level loading overlay in _HawkHead.New.cshtml. 5846 addEventListener('hawksearch:before-search-executed', function (e) { 5847 if (!STATE.open) return; 5848 if (!e.detail || e.detail.requestType !== 'ImageData') return; 5849 clearError(); 5850 STATE.open.status.hidden = false; 5851 }); 5852 5853 addEventListener('hawksearch:search-completed', function () { 5854 // Only close if we entered the in-flight state, i.e. this is the 5855 // image search we kicked off (not some unrelated completion). 5856 if (!STATE.open || STATE.open.status.hidden) return; 5857 close(STATE.open.dialog); 5858 }); 5859 5860 addEventListener('hawksearch:search-failed', function () { 5861 if (!STATE.open || STATE.open.status.hidden) return; 5862 showError('Search failed. Try a different image.'); 5863 }); 5864 5865 return { open: open, close: close, _state: STATE }; 5866 })(); 5867</script>
5867 5868 5869<template id="custom-unifiedsearch-field"> 5870 <style> 5871 .unifiedsearch-field { 5872 display: flex; 5873 align-items: center; 5874 position: relative; 5875 border: 1px solid #ccc; 5876 border-radius: 4px; 5877 background: #fff; 5878 } 5879 5880 .unifiedsearch-field input[type="text"] { 5881 flex: 1; 5882 min-width: 0; 5883 border: none; 5884 outline: none; 5885 padding: 8px 12px; 5886 font-size: inherit; 5887 background: transparent; 5888 } 5889 5890 .unifiedsearch-field__actions { 5891 display: flex; 5892 align-items: center; 5893 flex-shrink: 0; 5894 gap: 4px; 5895 padding-right: 4px; 5896 } 5897 5898 .unifiedsearch-field__search-btn { 5899 display: inline-flex; 5900 align-items: center; 5901 justify-content: center; 5902 cursor: pointer; 5903 padding: 6px; 5904 border: 1px solid #ccc; 5905 border-radius: 50%; 5906 background: none; 5907 color: #666; 5908 transition: color 0.2s, border-color 0.2s; 5909 } 5910 5911 .unifiedsearch-field__search-btn:hover { 5912 color: #b40c1e; 5913 border-color: #b40c1e; 5914 } 5915 5916 .unifiedsearch-field__wrapper { 5917 position: relative; 5918 } 5919 5920 hawksearch-autocomplete { 5921 position: absolute; 5922 top: 100%; 5923 left: 0; 5924 right: 0; 5925 z-index: 200; 5926 } 5927 5928 @keyframes tgSearchGlow { 5929 0% { border-color: #ccc; box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); } 5930 25% { border-color: #b40c1e; box-shadow: 0 0 9px 2px rgba(255, 179, 0, 0.8); } 5931 60% { border-color: #b40c1e; box-shadow: 0 0 9px 2px rgba(255, 179, 0, 0.8); } 5932 100% { border-color: #ccc; box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); } 5933 } 5934 5935 :host(.tg-search-flash) .unifiedsearch-field { 5936 animation: tgSearchGlow 0.6s ease-out; 5937 } 5938 </style> 5939 <div class="unifiedsearch-field__wrapper"> 5940 <div class="unifiedsearch-field"> 5941 <input 5942 type="text" 5943 name="hawksearch-unified-search-field" 5944 hawksearch-input 5945 hawksearch-unified-search 5946 value="{{query}}" 5947 placeholder="{{strings.placeholder}}" 5948 onkeyup="if(event.key==='Enter'&&!this.value.trim()){event.stopImmediatePropagation();tgSearchPrompt(this);}" 5949 /> 5950 <div class="unifiedsearch-field__actions"> 5951 <button type="button" class="unifiedsearch-field__search-btn" title="Search" onclick="var input=this.closest('.unifiedsearch-field').querySelector('[hawksearch-input]');if(input&&input.value.trim()){HawkSearch.services.search.query({queryString:input.value.trim(),requestType:'UnifiedSearch'});}else{tgSearchPrompt(this);}"> 5952 <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg> 5953 </button> 5954 <hawksearch-visualsearch-field></hawksearch-visualsearch-field> 5955 </div> 5956 </div> 5957 <hawksearch-autocomplete request-type="UnifiedSearch"></hawksearch-autocomplete> 5958 </div> 5959</template> 5960 5961<template id="custom-visualsearch-field"> 5962 <style> 5963 .vs-icon { 5964 display: inline-flex; align-items: center; justify-content: center; 5965 cursor: pointer; padding: 6px; 5966 border: 1px solid #ccc; border-radius: 50%; 5967 background: none; color: #666; 5968 transition: color 0.2s, border-color 0.2s; 5969 } 5970 .vs-icon:hover { color: #b40c1e; border-color: #b40c1e; } 5971 5972 .vs-dialog { 5973 width: min(520px, 92vw); 5974 max-height: 90vh; 5975 padding: 0; 5976 border: none; 5977 border-radius: 8px; 5978 box-shadow: 0 12px 40px rgba(0,0,0,0.25); 5979 } 5980 .vs-dialog::backdrop { 5981 background: rgba(0,0,0,0.45); 5982 } 5983 5984 .vs-dialog__head { 5985 display: flex; align-items: center; justify-content: space-between; 5986 padding: 14px 18px; 5987 border-bottom: 1px solid #eee; 5988 } 5989 .vs-dialog__head h2 { margin: 0; font-size: 1.05rem; color: #2e2e2e; } 5990 .vs-close { 5991 background: none; border: none; cursor: pointer; 5992 font-size: 1.5rem; line-height: 1; color: #666; padding: 4px 8px; 5993 } 5994 .vs-close:hover { color: #b40c1e; } 5995 5996 .vs-drop { 5997 position: relative; 5998 margin: 18px; 5999 padding: 36px 20px; 6000 border: 2px dashed #ccc; 6001 border-radius: 6px; 6002 text-align: center; 6003 transition: border-color 0.15s, background 0.15s, box-shadow 0.15s; 6004 } 6005 .vs-drop--active { 6006 border-color: #b40c1e; 6007 background: rgba(0,0,0,0.02); 6008 box-shadow: 0 0 0 4px rgba(255, 179, 0, 0.8); 6009 } 6010 6011 .vs-drop__preview { min-height: 0; margin-bottom: 8px; } 6012 .vs-drop__preview img { 6013 max-width: 100%; max-height: 160px; 6014 border-radius: 4px; 6015 object-fit: contain; 6016 } 6017 6018 .vs-drop__prompt { margin: 4px 0; font-size: 0.95rem; color: #2e2e2e; } 6019 .vs-drop__prompt--or { color: #999; font-size: 0.85rem; } 6020 6021 .vs-drop__upload { 6022 display: inline-block; 6023 margin: 6px 0 10px; 6024 padding: 8px 18px; 6025 border: 1px solid #b40c1e; 6026 border-radius: 40px; 6027 color: #b40c1e; 6028 cursor: pointer; 6029 font-weight: 700; 6030 transition: background 0.15s, color 0.15s; 6031 } 6032 .vs-drop__upload:hover { background: #b40c1e; color: #fff; } 6033 .vs-drop__upload input[type="file"] { display: none; } 6034 6035 .vs-drop__hint { color: #888; font-size: 0.8rem; margin-top: 8px; } 6036 .vs-drop__error { color: #c00; font-size: 0.85rem; margin-top: 8px; } 6037 .vs-drop__status { 6038 margin-top: 10px; 6039 color: #b40c1e; font-weight: 600; 6040 } 6041 6042 /* Touch devices: drag isn't possible, swap copy. */ 6043 @media (pointer: coarse) { 6044 .vs-drop__prompt--drag, 6045 .vs-drop__prompt--or { display: none; } 6046 .vs-drop__upload { font-size: 0; padding: 12px 22px; } 6047 .vs-drop__upload::before { 6048 content: "Tap to upload a photo"; 6049 font-size: 1rem; 6050 } 6051 } 6052 </style> 6053 6054 <button type="button" 6055 class="vs-icon" 6056 title="Search by image" 6057 aria-haspopup="dialog" 6058 aria-controls="vs-dialog" 6059 onclick="tgVisualSearch.open(this)"> 6060 <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg> 6061 </button> 6062 6063 <dialog id="vs-dialog" class="vs-dialog" aria-labelledby="vs-title"> 6064 <header class="vs-dialog__head"> 6065 <h2 id="vs-title">Search by image</h2> 6066 <button type="button" class="vs-close" aria-label="Close" 6067 onclick="tgVisualSearch.close(this)">×</button> 6068 </header> 6069 6070 <div class="vs-drop" hawksearch-visualsearch-droparea> 6071 <div class="vs-drop__preview" hawksearch-visualsearch-display></div> 6072 6073 <p class="vs-drop__prompt vs-drop__prompt--drag">Drag an image here</p> 6074 <p class="vs-drop__prompt vs-drop__prompt--or">or</p> 6075 6076 <label class="vs-drop__upload"> 6077 Choose a file 6078 <input hawksearch-visualsearch-fileinput 6079 type="file" 6080 accept="image/jpeg,image/png,image/webp,image/avif,.jfif" /> 6081 </label> 6082 6083 <p class="vs-drop__hint"> 6084 Or paste an image with Ctrl/Cmd + V<br> 6085 Max 4 MB · JPG, PNG, WEBP, AVIF, JFIF 6086 </p> 6087 6088 <p class="vs-drop__error" role="alert" hidden></p> 6089 <p class="vs-drop__status" role="status" hidden>Searching by imageâ¦</p> 6090 </div> 6091 </dialog> 6092</template> 6093</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.