1 2 3 4<!DOCTYPE html> 5 6<html lang="en-US" xml:lang="en-US"> 7<head> 8 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> 9 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 10 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 11 <link rel="icon" href="/favicon.ico"> 12
12<script type="text/javascript" charset="UTF-8" src="//cdn.cookie-script.com/s/8b42e17d31a51e008372d36e0b59ea32.js"></script>
12 13 14 15 <link media="all" rel="stylesheet" href="/Local/bundle.min.css?v06a6412c-8cf9-4ef4-834f-93439674a120"> 16 <link rel="stylesheet" href="/Local/cookiescript-allow.css"> 17 18 <link href="https://fonts.googleapis.com/css?family=Quicksand:300,400,500,700|Roboto+Slab:100,300,400,700" rel="stylesheet"> 19 20 <title>Shopping Cart</title> 21 22 23
23<script type='text/javascript'> 24 function checkStock(productId, quantity, availableQty) { 25 if (quantity >= availableQty || availableQty ===0) { 26 document.getElementById("QtyError-" + productId).style.color = "#ef626c"; 27 if (availableQty === 0) { 28 document.getElementById("QtyError-" + productId).innerText = "Out of Stock"; 29 30 } else if (quantity > 0 && availableQty > 0 ) { 31 document.getElementById("QtyError-" + productId).innerText = "Max Quantity"; 32 } 33 } 34 } 35 36 function onCart() { 37 dataLayer.push({ 38 'event': 'begin_checkout', 39 40 'ecommerce': { 41 42 'actionField': {'step': "Cart"}, 43 'items': [] 44 45 } 46 47 }); 48 } 49 50 function setPos() { 51 localStorage.setItem('pos', window.scrollY); 52 return; 53 } 54 onCart(); 55 56 document.addEventListener("DOMContentLoaded", function(event) { 57 var pos = localStorage.getItem('pos'); 58 if (pos !== null) { 59 window.scrollTo(0, pos); 60 } 61 }); 62 window.onload = function () { 63 var pos = localStorage.getItem('pos'); 64 if (pos!==null) { 65 window.scrollTo(0, pos); 66 } 67 } 68 </script>
68 69 70 71
71<script src="https://js.stripe.com/v3/"></script>
71 72 73</head> 74 75<body itemscope itemtype="http://schema.org/WebPage"> 76 <a href="#HeaderNav" class="skip-to-content-link">Skip to Header</a> 77 <a href="#SearchHeaderNav" class="skip-to-content-link">Skip to Search Header</a> 78 <a href="#ContentNav" class="skip-to-content-link">Skip to Main Content</a> 79 <a href="#FooterNav" class="skip-to-content-link">Skip to Footer</a> 80 81 <div class="header-blue-line"></div> 82 <div class="header-nav-space"></div> 83 <main class="fixed-header-nav"> 84 85 86<div class="header__top" id="HeaderNav"> 87 <div class="header__top-item"><strong>Call: </strong>1.800.893.4091</div> 88 <a href="/cdn-cgi/l/email-protection#afc7cac3dfefedc6dcc0c1ecc0c2c2caddccca81ccc0c2" class="header__top-item"><strong>Email: </strong><span class="__cf_email__" data-cfemail="452d20293505072c362a2b062a2828203726206b262a28">[email protected]</span></a> 89 <div class="header__top-item"><strong>Send: </strong><a href="/contact">Contact form</a></div> 90 <div class="header__top-item"><strong>Read: </strong><a href="/brand/info/TermsAndConditions">Help</a></div> 91 <div class="header__top-item-right"> 92 <a alt="Go to shipping rates" href="/Info/shippinganddelivery" class="header__top-item-right-free-ship">FAST & FREE SHIPPING ON ORDERS OVER $60 !*</a> 93 </div> 94</div> 95 96 97<header class="header__container" id="SearchHeaderNav"> 98 <div id="hamburger" onclick="hamburgerToggle()" class="hamburger"></div> 99 <a href="/" class="logo-main"><img src="/Local/svg/bison-office-logo.svg" alt="Bison" /></a> 100 101 <a tabindex="0" onkeydown="if(event.keyCode == 13) ToggleDepartments()" onclick="ToggleDepartments()" class="dropdown"> 102 <div class="dropdown__text">Departments</div> 103 <div class="dropdown__toggle-icon-down"></div> 104 </a>
vendor: 114 bytes, lines 104-105
104 105 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
105<script> 106 function ToggleDepartments() { 107 departmentsMenu.classList.toggle('on-floating') 108 departmentsMenu.classList.toggle('off-floating') 109 document.getElementById("gray-overlay").classList.toggle('off-floating') 110 GetCategorieTree(); 111 } 112 </script>
112 113 <div class="autocomplete"> 114 <div class="search"> 115 <form id="search-form" style="min-width: 100%;" action="/Search/" method="get"> 116 <label for="myInput" class="visuallyhidden">Enter Your search phrase</label> 117 <input aria-label="Search" id="myInput" 118 class="search__input" 119 placeholder="Search" 120 name="q" 121 type="text" 122 aria-label="Search input" 123 autocomplete="searchProudctsAutocomplete" 124 onkeyup="SetKeywords(); if (event.keyCode == 13) document.getElementsByClassName('search__icon')[0].click();"> 125 </form> 126 <button 127 type="button" 128 id="searchButton" class="search__icon" aria-label="Search button" 129 onclick="fbq('track', 'Search'); document.getElementById('search-form').submit();" 130 ></button> 131 </div> 132 </div> 133 134 135 <div class="info"> 136<div tabindex="0" onkeydown="if(event.keyCode == 13) showLoginPanelWithFocus(0);" aria-label="Account Information" class="info__account-icon__wrapper"> 137 <div tabindex="-1" aria-label="Account Information" id="infoaccount" alt="Account Information" class="info__account-icon"></div> 138</div> 139 140<a aria-label="Contact" alt="Contact information button" title="Contact information button" href="/contact" class="info__heart-icon"></a> 141 142
142<script> 143 document.getElementById("infoaccount").addEventListener("click", 144 function() { 145 showLoginPanel(0); 146 }); 147 </script>
147 148 149 <a aria-label="Cart" href="/cart" alt="Cart is empty" title="Cart is empty" id="cartCount" class="info__cart-icon"></a> 150 151 </div> 152 153 <div id="departmentsMenu" class="departments-menu off-floating"> 154 155 <div class="departments-menu__main-navigation"> 156 157 </div> 158 159 <div class="departments-menu__navigation-tree"> 160 161 </div> 162 163 164 165 </div> 166 <div onclick="OpenCloseDepartments()" id="gray-overlay" class="full-overlay off-floating"> </div> 167</header> 168 169 170 171 172 173 174 175 176 177 </main> 178<div id="home-menu" class="home-menu__container"> 179 180 <a href="/furniture/9_c/" class="home-menu__container-item">FURNITURE</a> 181 <a href="/indoor-lighting/6376_c/" class="home-menu__container-item">LIGHTING</a> 182 <a href="/room-accessories/55_c/" class="home-menu__container-item">DECOR</a> 183 <a href="/automotive/5963_c/" class="home-menu__container-item">AUTOMOTIVE</a> 184 <a href="/pets/4759_c/" class="home-menu__container-item">PETS</a> 185 <a href="/lawn-and-garden/5440_c/" class="home-menu__container-item">LAWN & GARDEN</a> 186 <a href="/sporting-goods-and-equipment/6085_c/" class="home-menu__container-item">SPORTING GOODS & EQUIPMENT</a> 187 <a href="/office-space/5886_c/" class="home-menu__container-item">OFFICE SPACE</a> 188 <a href="/baby-and-kids/5958_c/" class="home-menu__container-item">BABY & KIDS</a> 189 <a href="/other/5911_c/" class="home-menu__container-item">OTHER</a> 190 191</div> 192 193 194
195<script src="https://accounts.google.com/gsi/client" async defer></script>
vendor: 2 bytes, line 195
195
196<script> 197 function handleCredentialResponse(response) { 198 if (response.credential) { 199 window.axios.post('/account/LoginWithGoogle', { token: response.credential }) 200 .then(function(response) { 201 window.location.reload(); 202 }) 203 .catch(function() { 204 alert("Cannot login with Google account"); 205 }); 206 } else { 207 alert("Cannot login with Google account"); 208 } 209 } 210</script>
210 211 212<div id="login" class="address-book-overlay address-book-overlay-off"> 213 <div tabindex="-1" onkeydown="if (event.keyCode == 13) performExit(event, 'login');" onclick="exit('login')" class="address-book-overlay__gray"></div> 214 <div class="address-book-overlay__address-book"> 215 <div class="address-book-overlay__address-book-header"> 216 <div tabindex="0" onkeydown="if (event.keyCode == 13) performExit(event, 'login');" class="address-book-overlay__address-book-header-name__wrapper"> 217 <div onclick="exit('login')" tabindex="-1" class="address-book-overlay__address-book-header-name">Sign in</div> 218 </div> 219 <label for="LoginEmail" class="visuallyhidden">Your email</label> 220 <input tabindex="0" aria-label="Contact email" id="LoginEmail" class="secure-main-container-input" autocomplete="Email" placeholder="Contact email" type="text"> 221 <label for="LoginPassword" class="visuallyhidden">Your password</label> 222 <input tabindex="0" aria-label="Password" id="LoginPassword" onkeydown="if (event.keyCode == 13) LoginToPage();" class="secure-main-container-input" autocomplete="Password" placeholder="Password" type="password"> 223 <div style="height: 20px;"></div> 224 225 <div id="LoginError" class="secure-main-container-input-error"></div> 226 <button tabindex="0" onkeydown="if (event.keyCode == 13) LoginToPage();" onclick="LoginToPage()" class="secure-main-container__order-button">Sign in</button> 227 <div class="remember-password-group"> 228 <div class="remember-password-group"> 229 <label for="LoginRemember" class="visuallyhidden">Remember Your Login</label> 230 <input tabindex="0" aria-label="Remember login ?" id="LoginRemember" class="products-main__filter-item-content-list-item-input-on" type="checkbox"> 231 <div class="remember-password-group-text">
231Remember me</div> 232 </div> 233 <div tabindex="0" onkeydown="if (event.keyCode == 13) GoToChangePassword();" class="forget-pass__wrapper"> 234 <div tabindex="-1" onclick="GoToChangePassword()" class="forget-pass">Forgot your password?</div> 235 </div> 236 </div> 237 </div> 238 <div class="social-logins"> 239 <div class="social-logins__login-text">or login with</div> 240 <div class="social-logins__button-list"> 241 <button style="height:40px; background-size: 20px 20px; width:14%" tabindex="0" aria-label="Facebook login button" onclick="HandleFacebookLoginClick(); return false;" class="facebook-btn"></button> 242 <div style="margin-right:10px;"> 243 <div id="g_id_onload" 244 data-client_id="892410077286.apps.googleusercontent.com" 245 data-ux_mode="popup" 246 data-callback="handleCredentialResponse" 247 data-auto_prompt="false" 248 data-use_fedcm_for_button="true"> 249 </div> 250 <div class="g_id_signin" 251 data-type="icon" 252 data-size="large"></div> 253 </div> 254 </div> 255 <div tabindex="0" onkeydown="if (event.keyCode == 13) register();" class="social-logins-other-acc__wrapper"> 256 <div tabindex="-1" onclick="register()" class="social-logins-other-acc">New Customer? Register Here</div> 257 </div> 258 </div> 259 </div> 260</div> 261 262 263<div id="register" class="address-book-overlay address-book-overlay-off"> 264 <div tabindex="-1" onkeydown="if (event.keyCode == 13) performExit(event, 'register');" onclick="exit('register')" class="address-book-overlay__gray"></div> 265 <div class="address-book-overlay__address-book"> 266 <div class="address-book-overlay__address-book-header"> 267 <div tabindex="0" onkeydown="if (event.keyCode == 13) performExit(event, 'register');" class="address-book-overlay__address-book-header-name__wrapper"> 268 <div tabindex="-1" onclick="exit('register')" class="address-book-overlay__address-book-header-name">Create an Account</div> 269 </div> 270 <label for="RegisterEmail" class="visuallyhidden">Enter Your registration email</label> 271 <input aria-label="Contact email" id="RegisterEmail" class="secure-main-container-input" autocomplete="Email" placeholder="Contact email" type="text"> 272 <div id="RegisterEmailError" class="secure-main-container-input-error"></div> 273 <label for="RegisterPassword" class="visuallyhidden">Enter Your password</label> 274 <input aria-label="Password" id="RegisterPassword" class="secure-main-container-input" autocomplete="Password" placeholder="Password" type="password"> 275 <div id="RegisterPasswordError" class="secure-main-container-input-error"></div> 276 <label for="RegisterPasswordConfirm" class="visuallyhidden">Enter Your password</label> 277 <input aria-label="Confirm Password" id="RegisterPasswordConfirm" class="secure-main-container-input" autocomplete="Password" placeholder="Confirm Password" type="password"> 278 <div id="RegisterPasswordConfirmError" class="secure-main-container-input-error"></div> 279 <label for="RegisterFirstName" class="visuallyhidden">Enter Your First Name</label> 280 <input aria-label="FirstName" id="RegisterFirstName" class="secure-main-container-input" autocomplete="FirstName" placeholder="FirstName" type="text"> 281 <div id="RegisterFirstNameError" class="secure-main-container-input-error"></div> 282 <label for="RegisterLastName" class="visuallyhidden">Enter Your Last Name</label> 283 <input aria-label="LastName" id="RegisterLastName" class="secure-main-container-input" autocomplete="LastName" placeholder="LastName" type="text"> 284 <div id="RegisterLastNameError" class="secure-main-container-input-error"></div> 285 <label for="RegisterCompany" class="visuallyhidden">Enter Your Company Name</label> 286 <input aria-label="Company" id="RegisterCompany" class="secure-main-container-input" autocomplete="register-company" placeholder="Company (optional)" type="text"> 287 <div id="RegisterCompanyError" class="secure-main-container-input-error"></div> 288 <label for="RegisterPhone" class="visuallyhidden">Enter Your phone</label> 289 <input aria-label="Phone" id="RegisterPhone" class="secure-main-container-input" autocomplete="Phone" placeholder="Phone (optional)" type="text"> 290 <div id="RegisterPhoneError" class="secure-main-container-input-error"></div> 291 292 <div class="g-recaptcha" style="padding-top: 20px" data-sitekey="6Lej_AAtAAAAAPF4FS77B1Auwa_0UohwbPUKI6G7"></div> 293 <div id="RegisterError" class="secure-main-container-input-error"></div> 294 <div style="height: 20px;"></div> 295 <div tabindex="0" onkeydown="if (event.keyCode == 13) RegisterToPage();" onclick="RegisterToPage()" class="secure-main-container__order-button">CREATE AN ACCOUNT</div> 296 <div class="social-logins__login-text"> 297 By providing your email address, you agree to our <a class="policy" target="_blank" href="/brand/info/PrivacyPolicy">Privacy Policy</a> and <a class="policy" target="_blank" href="/brand/info/TermsAndConditions">Terms of Service</a>. 298 </div> 299
299<script> 300 (function () { 301 var po = document.createElement('script'); 302 po.type = 'text/javascript'; 303 po.async = true; 304 po.src = 'https://apis.google.com/js/plusone.js'; 305 var s = document.getElementsByTagName('script')[0]; 306 s.parentNode.insertBefore(po, s); 307 })(); 308 </script>
308 309 310
310<script> 311 312 window.fbAsyncInit = function() { 313 FB.init({ 314 appId: '283004341729007', 315 xfbml: true, 316 version: 'v2.12' 317 }); 318 FB.AppEvents.logPageView(); 319 }; 320 321 (function(d, s, id) { 322 var js, fjs = d.getElementsByTagName(s)[0]; 323 if (d.getElementById(id)) { 324 return; 325 } 326 js = d.createElement(s); 327 js.id = id; 328 js.src = "https://connect.facebook.net/en_US/sdk.js"; 329 fjs.parentNode.insertBefore(js, fjs); 330 }(document, 'script', 'facebook-jssdk')); 331 332 function HandleFacebookLoginClick() { 333 FB.login(function(response) { 334 335 var token = response.authResponse.accessToken; 336 var email = ""; 337 var uid = response.authResponse.userID; 338 var firstName = ""; 339 var lastName = ""; 340 341 if (response.authResponse) { 342 343 FB.api('/me', 344 'get', 345 { access_token: token, fields: 'email,first_name,last_name' }, 346 function(fbResp) { 347 email = fbResp.email; 348 firstName = fbResp.first_name; 349 lastName = fbResp.last_name; 350 351 window.axios.post('/account/LoginWithFacebook', 352 { 353 Token: '' + token + '', 354 Email: '' + email + '', 355 Uid: '' + uid + '', 356 FirstName: '' + firstName + '', 357 LastName: '' + lastName + '' 358 }).then(function(response) { 359 window.location.reload(); 360 }).catch(function(error) { 361 //TODO: show login box on unouthorized status 362 if (error.response.status === 401) { 363 unauthorized(); 364 } 365 }); 366 367 }); 368 369 } else { 370 // user cancelled login 371 } 372 }, 373 { scope: 'email' }); 374 } 375 376 </script>
376 377 378 </div> 379 <div class="social-logins"> 380 <div class="social-logins__login-text">or login with</div> 381 <div tabindex="0" onkeydown="if (event.keyCode == 13) login();" class="social-logins-other-acc__wrapper"> 382 <div tabindex="-1" onclick="login()" class="social-logins-other-acc">Log in with an existing account</div> 383 </div> 384 </div> 385 </div> 386</div> 387 388 389 390<div id="Account" class="address-book-overlay address-book-overlay-off"> 391 <div tabindex="-1" onkeydown="if (event.keyCode == 13) performExit(event, 'Account');" onclick="exit('Account')" class="address-book-overlay__gray"></div> 392 <div class="address-book-overlay__address-book"> 393 <div class="address-book-overlay__address-book-header"> 394 <div tabindex="0" onkeydown="if (event.keyCode == 13) performExit(event, 'Account');" class="address-book-overlay__address-book-header-name__wrapper"> 395 <div onclick="exit('Account')" class="address-book-overlay__address-book-header-name">Your Account</div> 396 </div> 397 <div class="account-info-main-navigation"> 398 <a class="departments-menu__main-navigation-item" href="/Account/Orders">Order History</a> 399 400 <a class="departments-menu__main-navigation-item" href="/Account/Favourites">Favorite List</a> 401 <a class="departments-menu__main-navigation-item" href="/Account/Purchased-Items">Purchased Items</a> 402 403 <a class="departments-menu__main-navigation-item" href="/Account/Profile">Profile Information</a> 404 <a class="departments-menu__main-navigation-item" href="/Info/Contact">Contact Us</a> 405 <a class="departments-menu__main-navigation-item" href="/Account/rewards">Rewards Balance</a> 406 <a class="departments-menu__main-navigation-item" href="/Account/Shipping-Addresses">Address Book</a> 407 408 </div> 409 <button tabindex="0" onkeydown="if (event.keyCode == 13) LogOut();" onclick="LogOut()" class="secure-main-container__order-button">Log out</button> 410 </div> 411 </div> 412</div> 413 414<div id="changePassword" class="address-book-overlay address-book-overlay-off"> 415 <div tabindex="-1" onkeydown="if (event.keyCode == 13) performExit(event, 'changePassword');" onclick="exit('changePassword')" class="address-book-overlay__gray"></div> 416 <div class="address-book-overlay__address-book"> 417 <div class="address-book-overlay__address-book-header"> 418 <div tabindex="0" onkeydown="if (event.keyCode == 13) performExit(event, 'changePassword');" class="address-book-overlay__address-book-header-name__wrapper"> 419 <div tabindex="-1" onclick="exit('changePassword')" class="address-book-overlay__address-book-header-name">Change Password</div> 420 </div> 421 <label for="changeEmail" class="visuallyhidden">Enter New email address</label> 422 <input aria-label="Contact email" type="email" id="changeEmail" class="secure-main-container-input" placeholder="Contact email"> 423 <div id="changeEmailError" class="secure-main-container-input-error"></div> 424 425 <div class="g-recaptcha" style="padding-top: 10px; padding-bottom: 10px" data-sitekey="6Lej_AAtAAAAAPF4FS77B1Auwa_0UohwbPUKI6G7"></div> 426 427 <div style="height: 20px;"></div> 428 <button tabindex="0" onkeydown="if (event.keyCode == 13) RequestPasswordChange();" onclick="RequestPasswordChange()" class="secure-main-container__order-button">Continue</button> 429 <div id="changeError" class="secure-main-container-input-error"></div> 430 431 </div> 432 </div> 433</div> 434 435 436<div id="overlay" class="address-book-overlay address-book-overlay-off"> 437 <div onclick="exit('overlay')" class="address-book-overlay__gray"></div> 438 <div class="address-book-overlay__address-book"> 439 <div class="address-book-overlay__address-book-header"> 440 <div tabindex="0" onkeydown="if (event.keyCode == 13) performExit(event, 'overlay');" class="address-book-overlay__address-book-header-name__wrapper"> 441 <div tabindex="-1" id="YourCartLabel" class="address-book-overlay__address-book-header-name">Your Cart</div> 442 </div> 443 <div tabindex="0" onkeydown="if (event.keyCode == 13) performExit(event, 'overlay');" class="product-main__info-basket-continue-button__wrapper"> 444 <div tabindex="-1" id="ContinueShoppingLabel" class="product-main__info-basket-continue-button"> 445 <?xml version="1.0" ?> 446 447 <svg role="presentation" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 32.635 32.635" style="enable-background: new 0 0 32.635 32.635; position: absolute; left: 70px;" xml:space="preserve" width="30px" height="30px" class=""><g /><g /> 448 449 <path style="fill: #245483 !important" d="M32.135,16.817H0.5c-0.276,0-0.5-0.224-0.5-0.5s0.224-0.5,0.5-0.5h31.635c0.276,0,0.5,0.224,0.5,0.5 S32.411,16.817,32.135,16.817z" data-original="#000000" class="active-path" fill="#001f38" /> 450 451 <path style="fill: #245483 !important" d="M13.037,29.353c-0.128,0-0.256-0.049-0.354-0.146L0.146,16.669C0.053,16.575,0,16.448,0,16.315s0.053-0.26,0.146-0.354 L12.684,3.429c0.195-0.195,0.512-0.195,0.707,0s0.195,0.512,0,0.707L1.207,16.315l12.184,12.184c0.195,0.195,0.195,0.512,0,0.707 C13.293,29.304,13.165,29.353,13.037,29.353z" data-original="#000000" class="active-path" fill="#001f38" /> 452 453 </svg> 454 CONTINUE SHOPPING 455 </div> 456 </div> 457 <div tabindex="0" onkeydown="if(event.keyCode == 13) document.location.href = '/cart';" class="product-main__info-basket-button__wrapper"> 458 <div tabindex="-1" id="ContinueCheckOutButton" class="product-main__info-basket-button">CONTINUE TO CHECKOUT</div> 459 </div> 460 <div class="basket-side__price-container"> 461 <div class="basket-side__total-text">Total:</div> 462 <div class="basket-side__total-price">
462$55.04</div> 463 </div> 464 465 <div class="secure-main-container__products"> 466 <a href="" class="secure-main-container__products-item pointer"> 467 <img class="secure-main-container__products-item-img" width="75" height="75" src="" alt="Your basket" /> 468 <div class="secure-main-container__products-item-summary"> 469 <div class="secure-main-container__products-item-summary-name"> 470 Egg Series Black Fabric Side 471 Reception Chair 472 </div> 473 <div class="secure-main-container__products-item-summary-classifiers"></div> 474 <div class="secure-main-container__products-item-summary-container"> 475 <div class="secure-main-container__products-item-summary-container-quantity">Qty: 1</div> 476 477 <div class="secure-main-container__products-item-summary-container-price">$614.29</div> 478 479 480 <Button onclick="document.location.href = '/cart';return false;" aria-label="Product remove button" class="cart-main__product-container-list-item-info-increment-cross cart-remove"></Button> 481 </div> 482 <div class="secure-main-container__products-item-summary-container-quantity-error"></div> 483 484 </div> 485 </a> 486 </div> 487 </div> 488 </div> 489</div> 490 491
491<script> 492 493 document.getElementById("YourCartLabel").addEventListener("click", 494 function() { 495 exit('overlay'); 496 }); 497 document.getElementById("ContinueShoppingLabel").addEventListener("click", 498 function() { 499 exit('overlay'); 500 }); 501 document.getElementById("ContinueCheckOutButton").addEventListener("click", 502 function() { 503 document.location.href = '/cart'; 504 }); 505 506 </script>
506 507 508 509 <div role="main" id="ContentNav"> 510 511 <main class="cart-main"> 512 <div class="cart-main__product-container"> 513 <div class="cart-main__product-container-name">Shopping Cart</div> 514 <div class="cart-main__product-container-header"> 515 <div class="cart-main__product-container-list-item-info-header"> 516 <div class="cart-main__product-container-list-item-info-text">Product name</div> 517 </div> 518 <div class="cart-main__product-container-list-item-info-item"> 519 <div class="cart-main__product-container-list-item-info-text">Unit price</div> 520 </div> 521 <div class="cart-main__product-container-list-item-info-item"> 522 <div class="cart-main__product-container-list-item-info-text">Quantity </div> 523 </div> 524 <div class="cart-main__product-container-list-item-info-item"> 525 <div class="cart-main__product-container-list-item-info-text">Amount</div> 526 </div> 527 </div> 528 <div class="cart-main__product-container-list"> 529 </div> 530 </div> 531 <div class="cart-main__summary-container"> 532 <div class="cart-main__summary-container-name">Summary</div> 533 <div class="cart-main__summary-container-group"> 534 <div class="cart-main__summary-container-group-text">Subtotal: </div> 535 <div id="SubtotalAmount" class="cart-main__summary-container-group-text">$0.00</div> 536 </div> 537 <div class="cart-main__summary-container-group"> 538 <div class="cart-main__summary-container-group-text delivery-text">Estimated delivery between - </div> 539 <div id="ShippingAmount" class="cart-main__summary-container-group-text">Free</div> 540 </div> 541 <div class="cart-main__summary-container-group"> 542 <div class="cart-main__summary-container-group-text">Pre-tax Total:</div> 543 <div id="SubtotalBeforeTax" class="cart-main__summary-container-group-text-total">$0.00</div> 544 </div> 545 546 <div style="margin-top: 10px; min-height: 65px;"> 547 <div id="afterpay-messaging-widget"></div> 548 </div> 549 550 <div class="cart-main__summary-container-group"> 551 <div class="cart-main__summary-container-group-text">Back in Rewards</div> 552 <div id="RewardAmount" class="cart-main__summary-container-group-text">$0.00</div> 553 </div> 554 555 556 <button onclick="trackProceedToCheckout('Checkout', 'Credit Card'); document.location.href = '/Checkout/payment';" class="cart-main__summary-container-btn">PROCEED TO SECURE CHECKOUT</button> 557 <div class="cart-main__summary-container-other">or checkout faster with <div tabindex="0" title="Payment methods listed below are processed faster. It means that we can ship your order on average 12 hours faster than usual!" class="cart-main__summary-container-info-icon"></div></div> 558 559 <div class="cart-main__summary-container-paypal" onclick="trackProceedToCheckout('Checkout', 'Paypal', false);"></div> 560 <div class="cart-main__summary-container-paypal-credit" onclick="trackProceedToCheckout('Checkout', 'Paypal', true);"></div> 561 562 <div class="AmazonButtonWrapper" style="display:block width: 100%; margin-bottom: 20px;"><div id="AmazonPayButton" style=""></div></div> 563 <div id="payment-request-button" style="margin-bottom: 20px;"></div> 564 <div id="afterpay-btn-cont" style="display:none" class="cart-main__summary-container-afterpay"><img src="/Local/pages/cart/img/afterpay.png" alt="afterpay button" id="afterpay-button" data-afterpay-entry-point="cart" /> </div> 565 <div id="loaderSvg" class="loader" style="display: none"> 566 <svg version="1.1" id="loader-1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 567 width="40px" height="40px" viewBox="0 0 50 50" style="enable-background: new 0 0 50 50;" xml:space="preserve"> 568 <path fill="#000" d="M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z"> 569 <animateTransform attributeType="xml" 570 attributeName="transform" 571 type="rotate" 572 from="0 25 25" 573 to="360 25 25" 574 dur="0.6s"
575 repeatCount="indefinite" /> 576 </path> 577 </svg> 578 <div class="loader_text">Processing</div> 579 </div> 580 581 </div> 582 </main>
583<script src="https://static-na.payments-amazon.com/checkout.js"></script>
vendor: 2 bytes, line 583
583
584<script type="text/javascript"> 585 function AmazonFakeButtonClick() { 586 onCheckoutOption('Checkout', 'Amazon'); 587 } 588 589 amazon.Pay.renderButton('#AmazonPayButton', { 590 // set checkout environment 591 merchantId: 'A2G88111572J8M', 592 ledgerCurrency: 'USD', 593 sandbox: false, 594 // customize the buyer experience 595 checkoutLanguage: 'en_US', 596 productType: 'PayAndShip', 597 placement: 'Cart', 598 buttonColor: 'Gold', 599 // configure Create Checkout Session request 600 createCheckoutSessionConfig: { 601 payloadJSON: '{"storeId":"amzn1.application-oa2-client.da2f6bfe722f4faab6d76b3b9e88f967","deliverySpecifications":{"addressRestrictions":{"type":"Allowed","restrictions":{"US":{}}}},"scopes":["name","email","postalCode","shippingAddress","phoneNumber","billingAddress"],"webCheckoutDetails":{"checkoutReviewReturnUrl":"https://www.bisonoffice.com/checkout/AmazonV2"},"chargePermissionType":"OneTime"}', 602 signature: 'TeVcjn0e3zSV0O+9JQhfMONVcqKH7IfvvqYMlJsYE9gGuonZPvHmKMRv8hbxaiWagqqaRz98PKfEbrfDS38kjbhWXFuRwTE2pn8KjUOH+HBqK/Bg+FYPLyRalhsTYI4vXvgTABebwLp5TwtnN5/a2vCvbHF1Ve0aM4CdyNG2IpzXIz4zUkd+bzqh+iU3TQ6LQIfO+pZoDsYK9oblv76+AWwg8GOHAxnBUpzgINPs4iL5SGKMVA4W/rYut2QQCjh+btjZgEOADshb+Zc0RSv7+15v+/FWWxvbzN7ovdOV3YSePJYE3magVhVW063f11mmMl8SIouumXI9WfLxhrdAqA==', 603 publicKeyId: 'LIVE-AFLKKDUI37XNIS32PACEOSYW', 604 algorithm: 'AMZN-PAY-RSASSA-PSS' 605 } 606 }); 607 608</script>
608 609 610
611<script type="text/javascript"> 612 613 var stripe = Stripe('pk_live_B4h4SfDkwxgQo3qtn47Idd9o'); 614 var paymentRequest = stripe.paymentRequest({ 615 country: 'US', 616 currency: 'usd', 617 total: { 618 label: 'Pre-tax Total', 619 amount: 0 //will update tax info after shipping address is selected 620 }, 621 displayItems: GetOrderTotals(0, 0, 622 0,0, 623 0), 624 625 requestPayerName: true, 626 requestPayerEmail: true, 627 628 requestShipping: true, 629 requestPayerPhone: true 630 }); 631 632 var elements = stripe.elements(); 633 var prButton = elements.create('paymentRequestButton', 634 { 635 paymentRequest: paymentRequest, 636 style: { 637 paymentRequestButton: { 638 type: 'buy', 639 height: '50px' 640 } 641 } 642 }); 643 644 // Check if customer can use mobile payment and show payment button 645 paymentRequest.canMakePayment().then(function (result) { 646 if (result) { 647 prButton.mount('#payment-request-button'); 648 } else { 649 document.getElementById('payment-request-button').style.display = 'none'; 650 } 651 }); 652 653 prButton.on('click', 654 function (ev) { 655 var subtotalBeforeTaxCents = parseFloat(document.getElementById("SubtotalBeforeTax").innerText.replace('$', '').replace(',', '')) * 100; 656 var subtotalCents = parseFloat(document.getElementById("SubtotalAmount").innerText.replace('$', '').replace(',', '')) * 100; 657 paymentRequest.update({ 658 total: { 659 label: "Pre-tax Total", 660 amount: subtotalBeforeTaxCents 661 }, 662 displayItems: [{ label: 'Subtotal', amount: subtotalCents }] 663 }); 664 }); 665 666 //calculate tax amount, show shipping option and update totals when shipping address is selected 667 paymentRequest.on('shippingaddresschange', 668 function(ev) { 669 if (!IsShippingAddressValid(ev.shippingAddress)) { 670 ev.updateWith({ status: 'invalid_shipping_address' }); 671 } else { 672 window.axios.post('/checkout/CalculateMobilePayTaxAmount', 673 { state: ev.shippingAddress.region, postalCode: ev.shippingAddress.postalCode }) 674 .then(function(response) { 675 if (response.status == "200") { 676 var result = response.data; 677 ev.updateWith({ 678 status: 'success', 679 total: { 680 label: 'Total to Pay', 681 amount: parseInt(result.totalCents) 682 }, 683 shippingOptions: [ 684 { 685 id: 'standard', 686 label: 'Standard', 687 detail: 688 '' + 689 ' (included in total amount)', 690 amount: parseInt(result.shippingCents) 691 } 692 ], 693 displayItems: GetOrderTotals(parseInt(result.subtotalCents), parseInt(result.shippingCents), parseInt(result.taxCents), parseInt(result.discountCents), parseInt(result.rewardUsedCents)) 694 695 }); 696 697 } 698 }); 699 } 700 }); 701 702 //sent token to backend to complete payment 703 paymentRequest.on('token', function (ev) { 704 var data = { 705 token: ev.token.id, 706 payerName: ev.payerName, 707 payerEmail: ev.payerEmail, 708 payerPhone: ev.payerPhone, 709 shippingAddress: ev.shippingAddress 710 }; 711 712 window.axios.post('/checkout/MobilePay', {stripePaymentDto : data}) 713 .then(function(response) { 714 if (response.status == "200") { 715 if (response.data.success) { 716 ev.complete('success'); 717 window.location = response.data.returnUrl; 718 } else { 719 ev.complete(response.data.failReason); 720 } 721 } 722 }); 723 });
724 725 function IsShippingAddressValid(address) { 726 if (address.country.toString() !== 'US' || IsPOBox(address.addressLine.toString()) || !CanShipToState(address.region.toString())) { 727 return false; 728 } 729 return true; 730 } 731 732 function GetOrderTotals(subtotal, shipping, tax, discount, reward) { 733 var totals = []; 734 totals.push({ label: 'Subtotal', amount: subtotal }); 735 totals.push({ label: 'Shipping', amount: shipping }); 736 totals.push({ label: 'Tax', amount: tax }); 737 if (discount < 0) 738 { 739 totals.push({ label: 'Discount', amount: discount }); 740 } 741 if (reward > 0) 742 { 743 totals.push({ label: 'Reward Discount', amount: reward }); 744 } 745 return totals; 746 } 747 748 function IsPOBox(address) { 749 var str = address.toLowerCase(); 750 var poboxRegexp = /\W*/gi; 751 752 if (str.replace(poboxRegexp, '').indexOf("pobox") >= 0) { 753 return true; 754 } else { 755 return false; 756 } 757 } 758 759 function CanShipToState(state) { 760 var stateToShip = state.toLowerCase(); 761 if (stateToShip === 'ak' || stateToShip === 'hi' || stateToShip === 'alaska' || stateToShip === 'hawaii') { 762 return false; 763 } else { 764 return true; 765 } 766 } 767 768</script>
768 769 770 771
771<script src="/Local/js/afterpay.js"></script>
771 772
772<script src="https://portal.afterpay.com/afterpay.js" async onload="initAfterpay(); showAfterpayMessaging('#SubtotalBeforeTax','CART','123456');"></script>
772 773 774 </div> 775 <div id="FooterNav"> 776 777 778 779 <div class="payments"> 780 781 <div class="payments__text">WE ACCEPT THESE PAYMENT METHODS</div> 782 <img class="payments__card-img lazyloadtag" data-src="/Local/img/payments-with-ap.png" alt="Allowed payments: Paypal, Amazon, Discover, Visa, Mastercard, American express, Afterpay"> 783 </div> 784 785<footer class="footer__container"> 786 787 788 <div class="footer__container-main-text">Sign Up for Special Savings!</div> 789 <div class="subscribe"> 790 <label for="subscribe__input_email" class="visuallyhidden" style="color: #FFFFFF;">Enter Your email to Subscribe news from BisonOffice</label> 791 <input aria-label="Your email adress" id="subscribe__input_email" class="subscribe__input" type="text" placeholder="Your email address" aria-label="Subscribe input"> 792 <button id="subscribe__button_email" onclick="Subscribe()" class="subscribe__button" aria-label="Subscribe button">SUBSCRIBE</button> 793 <div id="subscribe__button_email_Error" class="secure-main-container-input-error"></div> 794 </div> 795 796 <div class="sitemap"> 797 <div class="sitemap__container"> 798 <div class="sitemap__item"> 799 <input class="sitemap__item-button" type="checkbox" id="check1" /> 800 <label for=check1 class="sitemap__acc-info">BisonOffice</label> 801 <div class="sitemap__item__show"> 802 <div><a class="sitemap__acc-url" href="/chairs-and-sofas/51_c/">Seating</a></div> 803 <div><a class="sitemap__acc-url" href="/panel-systems-and-components/54_c/">Tables & Desks</a></div> 804 <div><a class="sitemap__acc-url" href="/room-accessories/55_c/">Decor</a></div> 805 <div><a class="sitemap__acc-url" href="/outdoor-furniture/4781_c/">Outdoor</a></div> 806 <div><a class="sitemap__acc-url" href="/bedroom-furniture/4773_c/">Bedroom</a></div> 807 <div><a class="sitemap__acc-url" href="/indoor-lighting/6376_c/">Lighting</a></div> 808 <div><a class="sitemap__acc-url" href="/office-space/5886_c/">Office space</a></div> 809 <div><a class="sitemap__acc-url" href="/baby-and-kids/5958_c/">Baby & Kids</a></div> 810 <div><a class="sitemap__acc-url" href="/automotive/5963_c/">Automotive</a></div> 811 <div><a class="sitemap__acc-url" href="/sporting-goods-and-equipment/6085_c/">Fitness</a></div> 812 <div><a class="sitemap__acc-url" href="/pets/4759_c/">Pets</a></div> 813 <div><a class="sitemap__acc-url" href="/other/5911_c/">Other</a></div> 814 </div> 815 </div> 816 <div class="sitemap__item"> 817 <input class="sitemap__item-button" type="checkbox" id="check2" /> 818 <label for=check2 class="sitemap__acc-info">Your Account</label> 819 <div class="sitemap__item__show"> 820 <div><a class="sitemap__acc-url" href="/Account/Profile">Profile Information</a></div> 821 <div><a class="sitemap__acc-url" href="/Account/Rewards">Reward Balance</a></div> 822 823 <div><a class="sitemap__acc-url" href="/Account/Favourites">Your Favorite Items</a></div> 824 <div><a class="sitemap__acc-url" href="/Account/purchased-items">Purchased Items</a></div> 825 <div><a class="sitemap__acc-url" href="/Account/Orders">Order History</a></div> 826 827 </div> 828 </div> 829 <div class="sitemap__item"> 830 <input class="sitemap__item-button" type="checkbox" id="check3" /> 831 <label for=check3 class="sitemap__acc-info">Info & Policies</label> 832 <div class="sitemap__item__show"> 833 <div><a class="sitemap__acc-url" href="/Info/about">About</a></div> 834 <div><a class="sitemap__acc-url" href="/Info/payments">Payment Options</a></div> 835 836 <div><a class="sitemap__acc-url" href="/brand/info/TermsAndConditions">Terms of Use</a></div> 837 <div><a class="sitemap__acc-url" href="/brand/info/PrivacyPolicy">Privacy Policy</a></div> 838 </div> 839 </div> 840 <div class="sitemap__item"> 841 <input class="sitemap__item-button" type="checkbox" id="check4" /> 842 <label for=check4 class="sitemap__acc-info">Help</label> 843 <div class="sitemap__item__show"> 844 <div><a class="sitemap__acc-url" href="/contact">Contact Us</a></div> 845 <div><a class="sitemap__acc-url" href="/Account/Orders">Order Status</a></div> 846 <div><a class="sitemap__acc-url" href="/Info/reward-program">Rewards</a></div> 847 <div><a class="sitemap__acc-url" href="/Info/ordering">Ordering process</a></div> 848 <div><a class="sitemap__acc-url" href="/Info/cancellations">Cancellations</a></div> 849 <div><a class="sitemap__acc-url" href="/Info/shippinganddelivery">Shipping & Delivery</a></div> 850 <div><a class="sitemap__acc-url" href="/Info/returns">Return Information</a></div> 851 852 <div><a class="sitemap__acc-url" href="/sitemap">Site Map</a></div> 853 </div> 854 </div> 855 <div class="sitemap__item"> 856 <input class="sitemap__item-button" type="checkbox" id="check5" /> 857 <label for=check5 class="sitemap__acc-info">Contact Us</label> 858 <div class="sitemap__item__show"> 859 <div><a class="sitemap__acc-url">Call:</a></div> 860 <div><a class="sitemap__acc-info sitemap__acc-info-none" href="tel://1.800.893.4091">1.800.893.4091</a></div> 861 <div><a class="sitemap__acc-url">Email:</a></div> 862 <div><a class="sitemap__acc-info sitemap__acc-info-none" href="/cdn-cgi/l/email-protection#e189848d91a1a388928e8fa28e8c8c84938284cf828e8c"><span class="__cf_email__" data-cfemail="b1d9d4ddc1f1f3d8c2dedff2dedcdcd4c3d2d49fd2dedc">[email protected]</span></a></div> 863 <div><a class="sitemap__acc-url">Fill:</a></div> 864 <div><a class="sitemap__acc-info sitemap__acc-info-none" href="/Info/Contact#Contactform">Contact form</a></div> 865 </div> 866 </div> 867 </div> 868 </div> 869 <div class="line"></div> 870 <div class="checkout"> 871 <div style="display: flex;"> 872 <div> 873 <img class="checkout__logo lazyloadtag" data-src="/local/svg/checkout__logo.png" alt="SAFE SECURE CHECKOUT"> 874 <div class="checkout__text">SAFE BROWSING SECURE CHECKOUT</div> 875 </div> 876 <a href="https://adasitecompliance.com/xap_policy/?h=BSNOFC" target="_blank" aria-label="Opens a new tab to Ada Compliance Policy"> 877 <img class="lazyloadtag" style="width: 128.328px;
877height: 70px;margin-top: 6px;" data-src="https://adasitecompliance.com/wp-content/uploads/2018/01/Apolicy.png" alt="Bison Office is committed to accessibility" /> 878 </a> 879 </div> 880 <div class="checkout__copyright">© 2026 BisonOffice.com</div> 881 </div> 882</footer> 883 884 885 886 </div> 887 888 <div id="ProductQuickView" class="product-quick-view"> 889 <div id="quickviewLoaderSvg" class="loader"> 890 <svg version="1.1" id="loader-1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 891 width="40px" height="40px" viewBox="0 0 50 50" style="enable-background: new 0 0 50 50;" xml:space="preserve"> 892 <path fill="#000" d="M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z"> 893 <animateTransform attributeType="xml" 894 attributeName="transform" 895 type="rotate" 896 from="0 25 25" 897 to="360 25 25" 898 dur="0.6s" 899 repeatCount="indefinite" /> 900 </path> 901 </svg> 902 <div class="loader_text_quickview">Loading product information</div> 903 </div> 904 <div id="QuickViewProduct"></div> 905 </div> 906 <div id="ProductQuickViewBackground" style="" class="product-quick-view-background"></div> 907 908 <button id="fakeOlarkButton" onclick="LoadOlark()" class="fake-olark-launch-button olark-right-to-left olark-size-lg" aria-hidden="false" aria-label="Contact Live"> 909 <div style="display: inline-flex"> 910 <div class="fake-olark-button-text"> 911 Contact Us! 912 </div> 913 <div id="olarkSpiner" style="display: none" class="circle"> 914 <svg role="presentation" class="circle__svg" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> 915 <circle class="circle__svg-circle" cx="50" cy="50" r="45" /> 916 </svg> 917 </div> 918 </div> 919 </button>
vendor: 116 bytes, lines 919-921
919 920 921 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
921<script type="text/javascript" src="https://code.jquery.com/jquery-3.6.1.min.js" defer></script>
921 922 923
923<script src="/Local/js/axios.min.js"></script>
923 924
924<script src="/Local/js/bundle.min.js?vfdfe78dc-1a03-4e6b-b46c-b2b741f0770c" type="text/javascript" defer></script>
924 925 926
927<script> 928 const PINTEREST_PINIT_ID = "pinterest-pinit-js"; 929 930 let actualFbqCallback = null; 931 let actualDataLayerCallback = null; 932 let actualWebGainsCallback = null; 933 let actualUetqCallback = null; 934 let microsoftAdsScriptAdded = false; 935 936 function loadNoopTags() { 937 window.fbq = function () { } 938 window.ITCLKQ = function () { }; 939 window.ITCLKQ.q = []; 940 window.dataLayer = []; 941 942 const pinterestScriptTag = document.getElementById(PINTEREST_PINIT_ID); 943 const scriptTags = document.getElementsByTagName("script"); 944 945 /** GTM adds a custom pinterest script tag when loading in GTM */ 946 for (const scriptTag in scriptTags) { 947 if (scriptTag.src && scriptTag.src.startsWith("https://assets.pinterest.com/js/pinit_main.js")) { 948 scriptTag.remove(); 949 } 950 } 951 952 if (pinterestScriptTag) { 953 pinterestScriptTag.remove(); 954 } 955 956 /** bat.js swaps the uetq queue array for the live UET object on load; keep that one for re-accept */ 957 if (window.uetq && !Array.isArray(window.uetq)) { 958 window.uetq.push('consent', 'update', { ad_storage: 'denied' }); 959 actualUetqCallback = window.uetq; 960 } 961 window.uetq = []; 962 } 963 964 loadNoopTags(); 965 966 function loadMetaPixelTag() { 967 if (actualFbqCallback) { 968 fbq = actualFbqCallback; 969 return; 970 } 971 972 fbq = undefined; 973 974 !function (f, b, e, v, n, t, s) { 975 if (f.fbq) return; n = f.fbq = function () { 976 n.callMethod ? 977 n.callMethod.apply(n, arguments) : n.queue.push(arguments) 978 }; 979 if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; 980 n.queue = []; t = b.createElement(e); t.async = !0; 981 t.src = v; s = b.getElementsByTagName(e)[0]; 982 s.parentNode.insertBefore(t, s) 983 }(window, document, 'script', 984 'https://connect.facebook.net/en_US/fbevents.js'); 985 986 /** Save the current FBQ callback to avoid re-running the entire script */ 987 actualFbqCallback = window.fbq; 988 fbq('init', '1102699141586295'); 989 fbq('track', 'PageView'); 990 } 991 992 function loadGTM() { 993 if (actualDataLayerCallback) { 994 dataLayer = actualDataLayerCallback; 995 return; 996 } 997 998 dataLayer = undefined;
vendor: 493 bytes, lines 998-1007
998 999 1000 (function (w, d, s, l, i) { 1001 w[l] = w[l] || []; w[l].push({ 1002 'gtm.start': 1003 new Date().getTime(), event: 'gtm.js' 1004 }); var f = d.getElementsByTagName(s)[0], 1005 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 1006 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); 1007 })(window, document, 'script', 'dataLayer', '
1007GTM-N3CPGMK
vendor: 15 bytes, lines 1007-1009
1007'); 1008 1009
1009actualDataLayerCallback = dataLayer; 1010 } 1011 1012 function loadWebgains() { 1013 if (actualWebGainsCallback) { 1014 ITCLKQ = actualWebGainsCallback; 1015 return; 1016 } 1017 1018 (function (w, e, b, g, a, i, n, s) { w['ITCLKOBJ'] = a; w[a] = w[a] || function () { (w[a].q = w[a].q || []).push(arguments) }, w[a].l = 1 * new Date(); i = e.createElement(b), n = e.getElementsByTagName(b)[0]; i.async = 1; i.src = g; n.parentNode.insertBefore(i, n) })(window, document, 'script', 'https://analytics.webgains.io/clk.min.js', 'ITCLKQ'); 1019 ITCLKQ('set', 'internal.cookie', true); 1020 ITCLKQ('set', 'internal.api', true); 1021 ITCLKQ('click'); 1022 1023 actualWebGainsCallback = ITCLKQ 1024 } 1025 1026 function loadPinterestPinit() { 1027 const pinterestScriptTag = document.createElement("script"); 1028 pinterestScriptTag.async = true; 1029 pinterestScriptTag.defer = true; 1030 pinterestScriptTag.id = PINTEREST_PINIT_ID; 1031 pinterestScriptTag.src = "https://assets.pinterest.com/js/pinit.js"; 1032 1033 document.body.appendChild(pinterestScriptTag); 1034 } 1035 1036 function loadMicrosoftAds() { 1037 if (actualUetqCallback) { 1038 window.uetq = actualUetqCallback; 1039 window.uetq.push('consent', 'update', { ad_storage: 'granted' }); 1040 return; 1041 } 1042 1043 /** bat.js replaces the uetq array only on load, so the array alone can't tell us it was already injected */ 1044 if (microsoftAdsScriptAdded) { 1045 return; 1046 } 1047 1048 microsoftAdsScriptAdded = true; 1049 1050 // Create the global queue if it doesn't exist 1051 window.uetq = window.uetq || []; 1052 1053 window.uetq.push('consent', 'default', { ad_storage: 'granted' }); 1054 1055 // Create the script element for UET 1056 const scriptElement = document.createElement("script"); 1057 scriptElement.innerHTML = '(function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:"97215549", enableAutoSpaTracking: true};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq");'; 1058 1059 document.head.appendChild(scriptElement); 1060 } 1061 1062 function loadTags() { 1063 loadMetaPixelTag(); 1064 loadGTM(); 1065 loadMicrosoftAds(); 1066 loadWebgains(); 1067 loadPinterestPinit(); 1068 1069 /** Find all saved analytical triggers */ 1070 const persistedTriggers = window.persistedTriggers ?? [] 1071 /** Conversion events must fire once per page, however many times consent is re-given */ 1072 window.persistedTriggers = []; 1073 1074 persistedTriggers.forEach((trigger) => { 1075 trigger(); 1076 }) 1077 } 1078 1079 window.addEventListener("CookieScriptLoaded", function () { 1080 const action = CookieScript.instance.currentState().action; 1081 1082 if (action === "accept") { 1083 loadTags(); 1084 return; 1085 } 1086 1087 loadNoopTags(); 1088 }); 1089 1090 1091 window.addEventListener("CookieScriptAcceptAll", function () { 1092 loadTags(); 1093 }) 1094 1095 window.addEventListener("CookieScriptAccept", function () { 1096 loadTags(); 1097 }) 1098 1099 window.addEventListener("CookieScriptReject", function () { 1100 loadNoopTags(); 1101 }) 1102</script>
1102 1103 1104 1105 1106
1106<script type="text/javascript" src="https://apis.google.com/js/client.js" defer></script>
vendor: 83 bytes, lines 1106-1109
1106 1107 1108 <script src="https://www.google.com/recaptcha/api.js" defer></script> 1109
1109<!-- Add before the </body> tag --> 1110 <!-- begin olark code --> 1111
1111<script type='text/javascript'> 1112 function init() { 1113 //reCAPTCHA textarea accessibility 1114 var textarea = document.getElementsByClassName("g-recaptcha-response"); 1115 for (var i = 0; i < textarea.length; i++) { 1116 textarea[i].setAttribute("aria-hidden", "true"); 1117 textarea[i].setAttribute("aria-label", "do not use"); 1118 textarea[i].setAttribute("aria-readonly", "true"); 1119 } 1120 renderBadge(); 1121 } 1122 1123 window.onload = init; 1124 1125 function renderBadge() { 1126 var ratingBadgeContainer = document.createElement("div"); 1127 document.body.appendChild(ratingBadgeContainer); 1128 window.gapi.load('ratingbadge', 1129 function() { 1130 window.gapi.ratingbadge.render( 1131 ratingBadgeContainer, 1132 { 1133 "merchant_id": 10362781, 1134 "position": "BOTTOM_LEFT" 1135 }); 1136 }); 1137 } 1138 1139 var images = []; 1140 [].push.apply(images, document.getElementsByClassName("lazyloadtag")); 1141 var config = { 1142 rootMargin: '50px 0px', 1143 threshold: 0.01 1144 }; 1145 1146 function imgLoaded(imgElement) { 1147 return imgElement.complete && imgElement.naturalHeight !== 0; 1148 } 1149 1150 function preloadImage(img) { 1151 if (!imgLoaded(img)) { 1152 img.src = img.dataset.src; 1153 } 1154 } 1155 1156 if (!('IntersectionObserver' in window)) { 1157 images.forEach(function(image) { preloadImage(image) }); 1158 } else { 1159 observer = new IntersectionObserver(onIntersection, config); 1160 images.forEach(function(image) { 1161 observer.observe(image); 1162 }); 1163 1164 function onIntersection(entries) { 1165 entries.forEach(function(entry) { 1166 if (entry.intersectionRatio > 0) { 1167 observer.unobserve(entry.target); 1168 preloadImage(entry.target); 1169 } 1170 }); 1171 } 1172 } 1173 1174 function LoadOlark() { 1175/*{literal}<![CDATA[*/ 1176 window.olark || 1177 (function(i) { 1178 var e = window, 1179 h = document, 1180 a = e.location.protocol == "https:" ? "https:" : "http:", 1181 g = i.name, 1182 b = "load"; 1183 (function() { 1184 e[g] = function() { (c.s = c.s || []).push(arguments) }; 1185 var c = e[g]._ = {}, f = i.methods.length; 1186 while (f--) { 1187 (function(j) { e[g][j] = function() { e[g]("call", j, arguments) } })(i.methods[f]) 1188 } 1189 c.l = i.loader; 1190 c.i = arguments.callee; 1191 c.f = setTimeout(function() { 1192 if (c.f) { 1193 (new Image).src = a + "//" + c.l.replace(".js", ".png") + "&" + escape(e.location.href) 1194 } 1195 c.f = null 1196 }, 1197 20000); 1198 c.p = { 0: +new Date }; 1199 c.P = function(j) { c.p[j] = new Date - c.p[0] }; 1200 1201 function d() { 1202 c.P(b); 1203 e[g](b) 1204 } 1205 1206 e.addEventListener ? e.addEventListener(b, d, false) : e.attachEvent("on" + b, d); 1207 (function() { 1208 function l(j) { 1209 j = "head"; 1210 return [ 1211 "<", j, "></", j, "><", z, ' onl' + 'oad="var d=', B, ";d.getElementsByTagName('head')[0].", 1212 y, "(d.", A, "('script')).", u, "='", a, "//", c.l, "'", '"', "></", z, ">" 1213 ].join("") 1214 } 1215 1216 var z = "body", s = h[z]; 1217 if (!s) { 1218 return setTimeout(arguments.callee, 100) 1219 } 1220 c.P(1); 1221 var y = "appendChild", 1222 A = "createElement", 1223 u = "src", 1224 r = h[A]("div"), 1225 G = r[y](h[A](g)), 1226 D = h[A]("iframe"), 1227 B = "document", 1228 C = "domain", 1229 q; 1230 r.style.display = "none"; 1231 s.insertBefore(r, s.firstChild).id = g; 1232 D.frameBorder = "0"; 1233 D.id = g + "-loader"; 1234 if (/MSIE[ ]+6/.test(navigator.userAgent)) { 1235 D.src = "javascript:false" 1236 } 1237 D.allowTransparency = "true"; 1238 G[y](D); 1239 try { 1240 D.contentWindow[B].open() 1241 } catch (F) { 1242 i[C] = h[C]; 1243 q = "javascript:var d=" + B + ".open();d.domain='" + h.domain + "';"; 1244 D[u] = q + "void(0);" 1245 } 1246 try { 1247 var H = D.contentWindow[B]; 1248 H.write(l()); 1249 H.close() 1250 } catch (E) { 1251 D[u] = q + 'd.write("' + l().replace(/"/g, String.fromCharCode(92) + '"') + '");d.close();' 1252 } 1253 c.P(2) 1254 })() 1255 })() 1256 })({ 1257 loader: (function(a) { return "static.olark.com/jsclient/loader0.js?ts=" + (a ? a[1] : (+new Date)) } 1258 )(document.cookie.match(/olarkld=([0-9]+)/)), 1259 name: "olark", 1260 methods: ["configure", "extend", "declare", "identify"] 1261 }); 1262 /* custom configuration goes here (www.olark.com/documentation) */ 1263 olark.identify('4581-408-10-8006'); /*]]>{/literal}*/ 1264 //start spining 1265 document.getElementById("olarkSpiner").style.display = "block"; 1266 olark('api.chat.onReady', 1267 function() { 1268 document.getElementById("fakeOlarkButton").style.display = "none"; 1269 olark('api.box.expand'); 1270 }); 1271 } 1272 1273 </script>
vendor: 2 bytes, line 1273
1273
1274<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"f74912c8d0ee4f92b3c4a9a74bafb335","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 1274
1274
1275<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a44e30dc0c4498d7',t:'MTc5MTA1NDAzOA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
1275</body> 1276</html> 1277
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.