PageSourceSearch

https://www.bisonoffice.com/cart

html bisonoffice.com collected 2026-10-03 19:00:39 UTC 64,455 bytes, 1,277 lines download raw bytes

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&#160;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&#160;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.