shopharbour.com
Open in
urlscan Pro
23.227.38.32
Public Scan
Submitted URL: https://trk.klclick1.com/ls/click?upn=440S5nlULr46L2xmtAZf8xaWv9yfFJQY8X6Aa6mJo6ubSvkqkDMnJyps-2BYtP9UmdShN4Gdqa3vTHThiM-...
Effective URL: https://shopharbour.com/products/tahiti-side-table?_pos=3&_fid=5c386522d&_ss=c&utm_source=Klaviyo&utm_medium=email&utm_c...
Submission: On October 17 via api from US — Scanned from DE
Effective URL: https://shopharbour.com/products/tahiti-side-table?_pos=3&_fid=5c386522d&_ss=c&utm_source=Klaviyo&utm_medium=email&utm_c...
Submission: On October 17 via api from US — Scanned from DE
Form analysis
6 forms found in the DOM<form id="flits-guest-wishlist-form">
<div class="flits-input-wrap"> <input type="email" class="flits-input flits-tingle-input" placeholder="Email address" name="email" value="" id="flits_email_id" required=""> </div>
<div class="flits-tingle-modal-popup-action"> <button type="submit" class="flits-button flits-tingle-btn flits-tingle-primary-btn" data-flits-lang="wishlisted_product_page.add_to_wishlist_button" data-flits-lang-default="Add to Wishlist"> Add to
Wishlist </button> </div>
</form>
POST /cart
<form class="Cart Drawer__Content" action="/cart" method="POST" novalidate="">
<div class="Drawer__Main" data-scrollable="">
<p class="Cart__Empty Heading u-h5">Your cart is empty</p>
</div>
</form>
Name: GET — /search
<form action="/search" name="GET" role="search" class="Search__Form">
<div class="Search__InputIconWrapper">
<span class="hidden-tablet-and-up"><svg class="Icon Icon--search " role="presentation" viewBox="0 0 18 17">
<g transform="translate(1 1)" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square">
<path d="M16 16l-5.0752-5.0752"></path>
<circle cx="6.4" cy="6.4" r="6.4"></circle>
</g>
</svg></span>
<span class="hidden-phone"><svg class="Icon Icon--search-desktop " role="presentation" viewBox="0 0 21 21">
<g transform="translate(1 1)" stroke="currentColor" stroke-width="2" fill="none" fill-rule="evenodd" stroke-linecap="square">
<path d="M18 18l-5.7096-5.7096"></path>
<circle cx="7.2" cy="7.2" r="7.2"></circle>
</g>
</svg></span>
</div>
<input type="search" class="Search__Input Heading" name="q" autocomplete="off" autocorrect="off" autocapitalize="off" aria-label="Search..." placeholder="Search..." autofocus="">
<input type="hidden" name="type" value="product">
</form>
POST /cart/add
<form method="post" action="/cart/add" id="product_form_7641567854840" accept-charset="UTF-8" class="ProductForm" enctype="multipart/form-data" data-productid="7641567854840"><input type="hidden" name="form_type" value="product"><input type="hidden"
name="utf8" value="✓">
<div class="ProductMeta__Mobile">
<div class="ProductMeta" data-membershipdatastatus="1" data-customerstatus="loggedin" data-customerismember="0" data-pricedisplay-tag="Harbour-club" data-pricedisplay-discounts="15 - percentage" data-pricedisplay-label="club"
data-initial-original-price="103600" data-initial-original-compare_at_price="159500" data-membership-url="/pages/club" data-pricevaries="0" data-initial-highlighted="1">
<h1 class="ProductMeta__Title Heading u-h2">Tahiti Side Table</h1>
<p class="ProductMeta__Sku Heading Text--subdued u-h6">SKU: <span class="ProductMeta__SkuNumber">TAHI-11C-TENAT</span></p>
<div class=" ProductMeta__PriceList_Membership Heading u-h4">
<span class="ProductMeta__Price Price Price--highlight Price--compareAt Text--subdued u-h4">$1,595.00</span>
<span class="ProductMeta__Price Price Price--highlight u-h4"> $1,036.00 </span>
<span> / </span>
<span class="ProductMeta__Price Price Price--highlight u-h4"><a href="/pages/club">club $880.60</a></span>
</div>
<div class="ProductMeta__UnitPriceMeasurement" style="display:none">
<div class="UnitPriceMeasurement Heading u-h6 Text--subdued">
<span class="UnitPriceMeasurement__Price"></span>
<span class="UnitPriceMeasurement__Separator">/ </span>
<span class="UnitPriceMeasurement__ReferenceValue" style="display: inline"></span>
<span class="UnitPriceMeasurement__ReferenceUnit"></span>
</div>
</div>
</div>
</div>
<div class="Product__Gallery Product__Gallery--withDots cylindo_on">
<span id="ProductGallery" class="Anchor"></span>
<div id="cylindo-product-container" style="position: relative; display: block; z-index: 0; height: 848px;" role="region" aria-label="360 HD Product Viewer" title="360 HD Product Viewer" class="cylindo-wrapper has-thumbs has-height">
<div class="cylindo-loading-bar" role="progressbar" style="opacity: 0.0984771; display: none;">
<div class="" style="height: 100%; width: 100%;"></div>
</div>
<div class="cylindo-viewer-container has-thumbs thumb-location-bottom" style="">
<ul style="transition: opacity 0.2s linear 0s;" role="list" aria-label="threesixty viewer" class="cylindo-threesixty-list opacity-one">
<li aria-hidden="false" class="cylindo-viewer-frame-1 active" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/1/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="1"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/1/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 1 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-25" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/25/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="25"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/25/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 25 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-11" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/11/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="11"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/11/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 11 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-9" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/9/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="9"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/9/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 9 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-21" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/21/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="21"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/21/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 21 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-5" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/5/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="5"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/5/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 5 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-19" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/19/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="19"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/19/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 19 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-17" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/17/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="17"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/17/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 17 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-29" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/29/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="29"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/29/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 29 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-3" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/3/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="3"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/3/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 3 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-15" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/15/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="15"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/15/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 15 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-13" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/13/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="13"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/13/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 13 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-7" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/7/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="7"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/7/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 7 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-23" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/23/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="23"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/23/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 23 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-27" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/27/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="27"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/27/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 27 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-31" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/31/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="31"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/31/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 31 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-8" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/8/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="8"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/8/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 8 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-24" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/24/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="24"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/24/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 24 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-6" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/6/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="6"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/6/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 6 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-26" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/26/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="26"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/26/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 26 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-28" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/28/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="28"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/28/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 28 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-30" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/30/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="30"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/30/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 30 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-20" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/20/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="20"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/20/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 20 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-4" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/4/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="4"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/4/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 4 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-32" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/32/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="32"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/32/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 32 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-16" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/16/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="16"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/16/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 16 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-18" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/18/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="18"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/18/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 18 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-22" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/22/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="22"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/22/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 22 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-2" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/2/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="2"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/2/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 2 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-14" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/14/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="14"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/14/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 14 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-12" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/12/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="12"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/12/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 12 of "TAHI-11C" "></li>
<li aria-hidden="true" class="cylindo-viewer-frame-10" data-zoom-image="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/10/TAHI-11C.PNG?feature=WOOD:TENAT&crop=(__COORDS__)" data-index="10"><img draggable="false"
src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/10/TAHI-11C.PNG?feature=WOOD:TENAT" alt="Frame 10 of "TAHI-11C" "></li>
</ul>
<div class="cylindo-action-button-group right" style="display: block; opacity: 1.08347;" aria-label="Action buttons" role="group">
<a style="display: block;" href="javascript:void(0)" class="fullscreen-button cylindo-action-button-icon cylindo-icon-fullscreen-off" aria-label="Enter full screen mode" role="link"></a><a style="display: none" href="javascript:void(0)" class="threesixty-button cylindo-action-button-icon cylindo-icon-zoom-off permanently-hidden" aria-label="Enter zoom mode" role="link"></a><a style="display: none" href="javascript:void(0)" class="threesixty-button-secondary cylindo-action-button-icon cylindo-icon-zoom-off permanently-hidden" aria-label="Exit zoom mode" role="link"></a>
</div>
<div class="cylindo-loader" role="progresbar" style="opacity: 0; display: none;"></div>
<div class="cylindo-tooltip cylindo-no-feature" role="tooltip" aria-label="Sorry, we do not have images for the requested feature set."><span>!</span>
<p>Sorry, we do not have images for the requested feature set.</p>
</div>
<div class="cylindo-tooltip cylindo-drag-tooltip cylindo-drag-to-rotate-tooltip" role="tooltip" aria-label="Drag to Rotate. Click to Zoom" style="display: block; opacity: 1.08347;"><span class="left" aria-hidden="true"></span>Drag to Rotate.
Click to Zoom<span class="right" aria-hidden="true"></span></div>
<div class="cylindo-tooltip cylindo-tooltip-not-available" role="" aria-label="Could not zoom in on the image."><span>!</span>
<p>Could not zoom in on the image.</p>
</div>
<div class="cylindo-zoom-imagery" role="group" aria-label="Zoom container" data-width="4096" data-height="4096" style="display: none; width: 4096px; height: 4096px;">
<div class="cylindo-zoom-background" data-width="4096" data-height="4096" style="width: 4096px; height: 4096px;"></div>
<div class="cylindo-zoom-images" role="img" aria-label="Zoomed image" data-width="4096" data-height="4096" style="width: 4096px; height: 4096px;"></div>
</div>
</div>
<div class="cylindo-thumbnail-wrapper thumb-location-bottom has-thumbs" style="display: block; opacity: 1.08347;" aria-label="Thumbnails bar">
<div class="cylindo-thumbnail-slider left"><a href="javascript:void(0)" class="glyphicon glyphicon-menu-left prev" aria-label="Move thumbs bar to the left" role="link"></a></div>
<div class="cylindo-thumbnail-bar" role="presentation">
<ul class="cylindo-rtv cylindo-thumbnail-list" role="list" aria-label="Thumbnail images">
<li data-index="1" style="width: 20%;" class="active"><img alt="TAHI-11C, rotated 0 degrees" role="link" src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/1/TAHI-11C.PNG?feature=WOOD:TENAT&size=128"
draggable="false"></li>
<li data-index="7" style="width: 20%;" class=""><img alt="TAHI-11C, rotated 68 degrees" role="link" src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/7/TAHI-11C.PNG?feature=WOOD:TENAT&size=128" draggable="false">
</li>
<li data-index="13" style="width: 20%;" class=""><img alt="TAHI-11C, rotated 135 degrees" role="link" src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/13/TAHI-11C.PNG?feature=WOOD:TENAT&size=128"
draggable="false"></li>
<li data-index="19" style="width: 20%;" class=""><img alt="TAHI-11C, rotated 203 degrees" role="link" src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/19/TAHI-11C.PNG?feature=WOOD:TENAT&size=128"
draggable="false"></li>
<li data-index="25" style="width: 20%;" class=""><img alt="TAHI-11C, rotated 270 degrees" role="link" src="https://content.cylindo.com/api/v2/5075/products/TAHI-11C/frames/25/TAHI-11C.PNG?feature=WOOD:TENAT&size=128"
draggable="false"></li>
</ul>
</div>
<div class="cylindo-thumbnail-slider right"><a href="javascript:void(0)" class="glyphicon glyphicon-menu-right next" aria-label="Move thumbs bar to the right" role="link"></a></div>
</div>
</div>
<div id="Product__Flickity" class="Product__Slideshow Product__Slideshow--zoomable Carousel flickity-enabled"
data-flickity-config="{"prevNextButtons": false,"pageDots": false,"watchCSS": true,"dragThreshold": 8,"adaptiveHeight": true,"initialIndex": 0,"arrowShape": {"x0": 20, "x1": 60, "y1": 40, "x2": 60, "y2": 35, "x3": 25}}"
tabindex="0">
<div class="flickity-viewport" style="height: 0px;">
<div class="flickity-slider" style="left: 0px; transform: translateX(0%);">
<div data-thumbnail-variant="all" id="Media-1" tabindex="0" class="Product__SlideItem Product__SlideItem--image Carousel__Cell is-selected" data-media-type="image" data-media-id="-1" data-media-position="1" data-image-media-position="0"
style="position: absolute; left: 0%;">
</div>
</div>
</div>
</div>
</div>
<div class="Product__InfoWrapper">
<div class="Product__Info Product__Info--noGallery">
<div class="Container">
<script type="application/json" data-product-json="">
{
"product": {
"id": 7641567854840,
"title": "Tahiti Side Table",
"handle": "tahiti-side-table",
"description": "Our Tahiti collection blends organic materials with refined construction. The Tahiti Side Table is the perfect outdoor side table — featuring solid Indonesian teak slatted construction. Curved edges give the design a contemporary touch. A great add on, this rectangular statement piece adds an exclamation point on any outdoor space and can fit right next to your Armless components as a sit extension and convenient surface.\u003cbr\u003e\u003cbr\u003e\u003ch5\u003eFEATURES\u003c\/h5\u003e\u003cbr\u003e• Frame handcrafted of sustainably sourced solid Indonesian teak in our workshop\r\n\u003cbr\u003e• When properly maintained and cared for, teak is the ideal outdoor material with its natural resistance to weather, cracking and rotting. Please refer to our Care + Maintenance Guide for additional information about the care and natural beauty of teak.\r\n\u003cbr\u003e• Slatted top and frame allows the teak to naturally expand and contract with changing weather\r\n\u003cbr\u003e• Our custom outdoor covers are strongly recommended as an extra layer of protection against the elements and natural aging",
"published_at": "2022-04-30T17:39:00-07:00",
"created_at": "2022-03-30T12:48:02-07:00",
"vendor": "ShopHarbourOutdoor",
"type": "SIDE TABLE",
"tags": ["LIVING", "OUTDOOR", "SIDE TABLE", "TAHITI"],
"price": 103600,
"price_min": 103600,
"price_max": 103600,
"available": true,
"price_varies": false,
"compare_at_price": 159500,
"compare_at_price_min": 159500,
"compare_at_price_max": 159500,
"compare_at_price_varies": false,
"variants": [{
"id": 42641523802360,
"title": "Teak Natural",
"option1": "Teak Natural",
"option2": null,
"option3": null,
"sku": "TAHI-11C-TENAT",
"requires_shipping": true,
"taxable": true,
"featured_image": {
"id": 39417438208248,
"product_id": 7641567854840,
"position": 1,
"created_at": "2023-08-07T16:03:12-07:00",
"updated_at": "2023-08-07T16:03:13-07:00",
"alt": "Tahiti Side Table - Harbour - ShopHarbourOutdoor - TAHI-11C-TENAT",
"width": 2048,
"height": 2048,
"src": "\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-271754.png?v=1691449393",
"variant_ids": [42641523802360]
},
"available": true,
"name": "Tahiti Side Table - Teak Natural",
"public_title": "Teak Natural",
"options": ["Teak Natural"],
"price": 103600,
"weight": 24948,
"compare_at_price": 159500,
"inventory_management": "shopify",
"barcode": "793519445133",
"featured_media": {
"alt": "Tahiti Side Table - Harbour - ShopHarbourOutdoor - TAHI-11C-TENAT",
"id": 32032194724088,
"position": 1,
"preview_image": {
"aspect_ratio": 1.0,
"height": 2048,
"width": 2048,
"src": "\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-271754.png?v=1691449393"
}
},
"requires_selling_plan": false,
"selling_plan_allocations": [],
"quantity_rule": {
"min": 1,
"max": null,
"increment": 1
}
}],
"images": ["\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-271754.png?v=1691449393", "\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-604755.jpg?v=1691449393",
"\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-319006.jpg?v=1691449393", "\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-174020.jpg?v=1691449393"
],
"featured_image": "\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-271754.png?v=1691449393",
"options": ["Finish"],
"media": [{
"alt": "Tahiti Side Table - Harbour - ShopHarbourOutdoor - TAHI-11C-TENAT",
"id": 32032194724088,
"position": 1,
"preview_image": {
"aspect_ratio": 1.0,
"height": 2048,
"width": 2048,
"src": "\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-271754.png?v=1691449393"
},
"aspect_ratio": 1.0,
"height": 2048,
"media_type": "image",
"src": "\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-271754.png?v=1691449393",
"width": 2048
}, {
"alt": "Tahiti Side Table - Harbour - ShopHarbourOutdoor - TAHI-11C-TENAT",
"id": 32032194789624,
"position": 2,
"preview_image": {
"aspect_ratio": 1.0,
"height": 2048,
"width": 2048,
"src": "\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-604755.jpg?v=1691449393"
},
"aspect_ratio": 1.0,
"height": 2048,
"media_type": "image",
"src": "\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-604755.jpg?v=1691449393",
"width": 2048
}, {
"alt": "Tahiti Side Table - Harbour - ShopHarbourOutdoor - TAHI-11C-TENAT",
"id": 32032194822392,
"position": 3,
"preview_image": {
"aspect_ratio": 1.0,
"height": 2048,
"width": 2048,
"src": "\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-319006.jpg?v=1691449393"
},
"aspect_ratio": 1.0,
"height": 2048,
"media_type": "image",
"src": "\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-319006.jpg?v=1691449393",
"width": 2048
}, {
"alt": "Tahiti Side Table - Harbour - ShopHarbourOutdoor - TAHI-11C-TENAT",
"id": 32032194887928,
"position": 4,
"preview_image": {
"aspect_ratio": 1.0,
"height": 2048,
"width": 2048,
"src": "\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-174020.jpg?v=1691449393"
},
"aspect_ratio": 1.0,
"height": 2048,
"media_type": "image",
"src": "\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-174020.jpg?v=1691449393",
"width": 2048
}],
"requires_selling_plan": false,
"selling_plan_groups": [],
"content": "Our Tahiti collection blends organic materials with refined construction. The Tahiti Side Table is the perfect outdoor side table — featuring solid Indonesian teak slatted construction. Curved edges give the design a contemporary touch. A great add on, this rectangular statement piece adds an exclamation point on any outdoor space and can fit right next to your Armless components as a sit extension and convenient surface.\u003cbr\u003e\u003cbr\u003e\u003ch5\u003eFEATURES\u003c\/h5\u003e\u003cbr\u003e• Frame handcrafted of sustainably sourced solid Indonesian teak in our workshop\r\n\u003cbr\u003e• When properly maintained and cared for, teak is the ideal outdoor material with its natural resistance to weather, cracking and rotting. Please refer to our Care + Maintenance Guide for additional information about the care and natural beauty of teak.\r\n\u003cbr\u003e• Slatted top and frame allows the teak to naturally expand and contract with changing weather\r\n\u003cbr\u003e• Our custom outdoor covers are strongly recommended as an extra layer of protection against the elements and natural aging"
},
"selected_variant_id": 42641523802360
}
</script>
<div class="ProductMeta__Desktop">
<div class="ProductMeta" data-membershipdatastatus="1" data-customerstatus="loggedin" data-customerismember="0" data-pricedisplay-tag="Harbour-club" data-pricedisplay-discounts="15 - percentage" data-pricedisplay-label="club"
data-initial-original-price="103600" data-initial-original-compare_at_price="159500" data-membership-url="/pages/club" data-pricevaries="0" data-initial-highlighted="1">
<h1 class="ProductMeta__Title Heading u-h2">Tahiti Side Table</h1>
<p class="ProductMeta__Sku Heading Text--subdued u-h6">SKU: <span class="ProductMeta__SkuNumber">TAHI-11C-TENAT</span></p>
<div class=" ProductMeta__PriceList_Membership Heading u-h4">
<span class="ProductMeta__Price Price Price--highlight Price--compareAt Text--subdued u-h4">$1,595.00</span>
<span class="ProductMeta__Price Price Price--highlight u-h4"> $1,036.00 </span>
<span> / </span>
<span class="ProductMeta__Price Price Price--highlight u-h4"><a href="/pages/club">club $880.60</a></span>
</div>
<div class="ProductMeta__UnitPriceMeasurement" style="display:none">
<div class="UnitPriceMeasurement Heading u-h6 Text--subdued">
<span class="UnitPriceMeasurement__Price"></span>
<span class="UnitPriceMeasurement__Separator">/ </span>
<span class="UnitPriceMeasurement__ReferenceValue" style="display: inline"></span>
<span class="UnitPriceMeasurement__ReferenceUnit"></span>
</div>
</div>
</div>
</div><input type="hidden" name="id" data-productid="7641567854840" id="hidElem" data-sku="TAHI-11C-TENAT" value="42641523802360">
<link rel="stylesheet" href="//shopharbour.com/cdn/shop/t/118/assets/variant-selector.aio.min.css?v=126876803147463943771691701739">
<div class="ProductForm__Variants">
<div class="ProductForm__Options">
<div class="ProductVariant__Group ProductForm__Option">
<div class="ProductVariant__Title__Toggle">
<span class="ProductVariant__OptionName"> Finish: <span class="ProductVariant__SelectedValue ProductForm__SelectedValue">Teak Natural</span>
</span>
<span class="Tooltip__Toggle Group0" data-option-position="0-g0-0">
<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.2 1.2H5.5636L4.3636 0H0V12H12V7.6364L10.8 6.4364V10.8H1.2V1.2ZM12 0V5.3636L10.8 4.1636V2.12763L6.12426 6.80337L5.27574 5.95484L10.0306 1.2H7.8364L6.6364 0H12Z" fill="#737373">
</path>
</svg> VIEW SWATCH </span>
</div>
<div class="ProductVariant__Values">
<div class="ProductVariant__Item" data-option-position="0-g0-0">
<input id="option-template--16793344049400__main-0--0" class="ProductVariant__Radio ProductVariant__Radio--Selector ProductVariant__Radio--group-0" type="radio" name="option-0" value="Teak Natural" checked="checked"
data-option-position="1" data-thumbnail-swatch="Teak Natural" data-color-position="0-g0-0"
data-swatch="{"id":42829455622392,"title":"Teak Natural","option1":"Teak Natural","option2":null,"option3":null,"sku":"SAMP-18A-TENAT","requires_shipping":true,"taxable":true,"featured_image":{"id":39497107538168,"product_id":7688262189304,"position":1,"created_at":"2023-09-12T07:24:37-07:00","updated_at":"2023-09-12T07:24:37-07:00","alt":"Teak Natural - SWATCH - Harbour - ShopHarbourOutdoor - SAMP-18A-TENAT","width":1200,"height":1200,"src":"\/\/shopharbour.com\/cdn\/shop\/products\/teak-natural-swatch-samp-18a-tenat-932709.png?v=1694528677","variant_ids":[42829455622392]},"available":true,"name":"Teak Natural - SWATCH - Teak Natural","public_title":"Teak Natural","options":["Teak Natural"],"price":500,"weight":0,"compare_at_price":500,"inventory_management":"shopify","barcode":"793519340582","featured_media":{"alt":"Teak Natural - SWATCH - Harbour - ShopHarbourOutdoor - SAMP-18A-TENAT","id":32113959239928,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1200,"width":1200,"src":"\/\/shopharbour.com\/cdn\/shop\/products\/teak-natural-swatch-samp-18a-tenat-932709.png?v=1694528677"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}">
<label for="option-template--16793344049400__main-0--0" class="ProductVariant__Label has_swatch" data-option-position="0-g0-0"><img
src="//shopharbour.com/cdn/shop/products/teak-natural-swatch-samp-18a-tenat-932709_40x40.png?v=1694528677"></label>
<div class="ProductVariant__Tooltip ProductVariant__Tooltip--0-g0-0 hasdescription_yes hasprice_yes">
<div class="ProductVariant__Tooltip__Close" data-option-position="0-g0-0">
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="40" height="40" rx="20" fill="white"></rect>
<g clip-path="url(#clip0_471_4509)">
<path d="M26 14L14 26" stroke="#1C1B1B" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="round"></path>
<path d="M14 14L26 26" stroke="#1C1B1B" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="round"></path>
</g>
<defs>
<clipPath id="clip0_471_4509">
<rect width="24" height="24" fill="white" transform="translate(8 8)"></rect>
</clipPath>
</defs>
</svg>
</div>
<div class="ProductVariant__Tooltip__Image">
<img src="//shopharbour.com/cdn/shop/products/teak-natural-swatch-samp-18a-tenat-932709_4472x4472.png?v=1694528677">
</div>
<div class="ProductVariant__Tooltip__Description">
<span class="ProductName">Teak Natural</span>
<div class="ProductVariant__Tooltip__Content">
<span class="ProductDescription"><span style="font-weight: 400;" data-mce-fragment="1" data-mce-style="font-weight: 400;">Harbour's Teak furniture is made from 100% sustainably sourced Indonesian teak, purchased through
legally harvested channels in Indonesia. Our Natural Teak finish is untreated teak, highlighting the beauty of the premium grade logs we source for our production. This swatch is indicative of the tonality of the wood when
it first is unboxed, but may vary slightly due to the organic nature of the wood. As Teak lives in the sun, moisture and elements, it will naturally begin to get a silver-grey coloration which will increase in patina over
time. This is part of the beauty of teak and does not sacrifice the durability or life. If the original natural color is desired, there</span><span style="font-weight: 400;" data-mce-fragment="1"
data-mce-style="font-weight: 400;"> are cleaning, sanding and oiling methods to bring it back to its original coloration. Weather Cover also is suggested to slow down this process and keep your furniture in its
be</span><span style="font-weight: 400;" data-mce-fragment="1" data-mce-style="font-weight: 400;">st condition.</span><br></span>
</div>
<div class="ProductVariant__Modal__Box SelecetedModalSwatch--0-g3-0">
<div class="ProductVariant__Modal__SwatchDetails">
<div class="ProductVariant__Modal__SwatchTitle">Teak Natural Sample</div>
<div class="ProductVariant__Modal__SwatchPrice">$5.00</div>
</div>
<button class="ProductVariant__Modal__SwatchAddToCart" data-hidden-id="42829455622392" data-quantity="1">ADD TO CART</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="Tooltip__Overlay"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript">
(function() {
var initialLoad = true;
/* const swatchEl = document.querySelectorAll('.ProductVariant__Radio--Selector');
const selectedSwatches = document.querySelectorAll('.ProductVariant__Radio:checked'); */
const addToCartButtons = document.querySelectorAll('.ProductVariant__SwatchAddToCart');
const swatchEl = document.querySelectorAll('.ProductVariant__Radio--Selector');
const swatchContainers = document.querySelectorAll('.ProductVariant__Item');
const selectedSwatches = [];
//get an indicator to which frame really is the selected swatch, the issue before with the "view swatch" function, instead of the correct selected element, it gets the last instance of the element since the input element has the same input name and value. it confuses the system to which swatch is it: is it under the custom or the stocked. since queryselectorall :checked selects the last element of the same type(in this case the radio input with the same name and same value)
swatchContainers.forEach(el => {
// get group of the swatch
let swatchGroup = el.querySelector('.ProductVariant__Radio').getAttribute('data-color-position').split("-")[1];
let swatch = el.querySelector('.ProductVariant__Radio');
let groupContainer = el.closest('.ProductVariant__GroupContainer');
if (swatch.checked && swatchGroup == 'g0') {
selectedSwatches.push(swatch);
}
try {
if (groupContainer.classList.contains('variant_option_load_on')) {
if (swatch.classList.contains('selected_option_on')) {
selectedSwatches.push(swatch);
}
}
} catch (e) {}
});
const closeModalButton = document.querySelectorAll('.ProductVariant__Tooltip .ProductVariant__Tooltip__Close')
const tooltipContainer = document.querySelectorAll('.ProductVariant__Tooltip')
const toggleTooltip = document.querySelectorAll('.Tooltip__Toggle')
const selectedItem = document.getElementById('hidElem')
const overlayEl = document.querySelector('.Tooltip__Overlay')
const modalAddToCartBtn = document.querySelectorAll('.ProductVariant__Modal__SwatchAddToCart')
let selectedFrame = '';
let selectedAccent = '';
let stocked = false;
let custom = false;
const toggleTooltipG1 = document.querySelector('.Group1');
const toggleTooltipG2 = document.querySelector('.Group2');
const handleSwatchChange = (swatch, onLoad) => {
const swatchPosition = swatch.getAttribute('data-color-position');
const optionPosition = swatch.getAttribute('data-option-position');
const selectedSwatchData = swatch.getAttribute('data-swatch');
const swatchData = JSON.parse(selectedSwatchData);
const toggleTooltipG0 = document.querySelector('.Group0');
const toggleTooltipDefault = document.querySelector('.Default');
if (swatch.classList.contains('ProductVariant__Radio--group-1')) {
try {
toggleTooltipG2.style.display = 'none';
toggleTooltipG1.style.display = 'flex';
selectedAccent = swatchData.title;
} catch (e) {}
if (swatchPosition && toggleTooltipG1) {
toggleTooltipG1.setAttribute('data-option-position', swatchPosition);
}
stocked = true;
custom = false;
try {
let stockedCont = document.querySelector('.ProductVariant__GroupContainer.Stocked__Container');
let availableStockedItem = stockedCont.querySelectorAll('.ProductVariant__Item:not(.ProductVariant__HideSwatch)');
if (availableStockedItem.length <= 0) {
toggleTooltipG1.style.display = 'none';
} else {
toggleTooltipG1.style.display = 'flex';
}
} catch (e) {}
//variantOptions(selectedAccent,selectedFrame, stocked, custom, swatchPosition)
} else if (swatch.classList.contains('ProductVariant__Radio--group-2')) {
try {
toggleTooltipG1.style.display = 'none';
toggleTooltipG2.style.display = 'flex';
selectedAccent = swatchData.title;
} catch (e) {}
if (swatchPosition && toggleTooltipG2) {
toggleTooltipG2.setAttribute('data-option-position', swatchPosition);
}
custom = true;
stocked = false;
//variantOptions(selectedAccent,selectedFrame, stocked, custom, swatchPosition)
} else if (swatch.classList.contains('ProductVariant__Radio--group-0')) {
if (selectedSwatchData != 'null') {
selectedFrame = swatchData.title;
}
if (swatchPosition && toggleTooltipG0) {
toggleTooltipG0.setAttribute('data-option-position', swatchPosition);
}
variantOptions(selectedAccent, selectedFrame, stocked, custom, swatchPosition);
if (stocked) {
try {
let availability_message = swatch.closest('.Product__InfoWrapper').querySelector('.available-soon strong');
availability_message.classList.add("stocked_accents");
} catch (e) {}
}
try {
//Check if Custom Fabric doesnt have any swatches under it, then hide the container, else: show.
let customCont = document.querySelector('.ProductVariant__GroupContainer.Custom__Container');
let availableCustomItem = customCont.querySelectorAll('.ProductVariant__Item:not(.ProductVariant__HideSwatch)');
if (availableCustomItem.length <= 0) {
customCont.style.display = 'none';
} else {
customCont.style.display = 'block';
}
//Select first variant on frame change
if (!onLoad) filterSelectFrameAndAccent(onLoad);
} catch (e) {}
} else {
if (selectedSwatchData != 'null') {
selectedAccent = swatchData.title;
}
if (swatchPosition && toggleTooltipDefault) {
toggleTooltipDefault.setAttribute('data-option-position', swatchPosition);
}
}
/*
let decimal_places = 2
let money_numbers_only = swatchData.price
let digits_array = money_numbers_only.toString().split('')
let whole_length = digits_array.length - decimal_places
let whole_part = money_numbers_only.toString().slice(0,whole_length)
let decimal_part = money_numbers_only.toString().slice(1, decimal_places)
let currency = whole_part + '.' + decimal_part
*/
if (window.innerWidth < 1008) {
$('html,body').animate({
scrollTop: $('.shopify-section').offset().top
}, 'slow');
}
//Removed the prameters as the selected variant values can be easily retrived using a query selector.
selectedVariant();
initialLoad = false;
try {
let availability_message = swatch.closest('.Product__InfoWrapper').querySelector('.available-soon strong');
if (stocked) {
availability_message.classList.add("stocked_accents");
} else {
availability_message.classList.remove("stocked_accents");
}
var variantsInitiallyLoaded = document.querySelectorAll('.ProductVariant__Item.variant_selected_initially');
variantsInitiallyLoaded.forEach(el => {
el.classList.remove("variant_selected_initially");
});
let variantGroupContainer = document.querySelectorAll('.ProductVariant__GroupContainer.custom_frame');
if (variantGroupContainer) {
variantGroupContainer.forEach(elcg => {
let showGroup = false;
let inputValuesContainer = elcg.querySelector(".ProductVariant__Values");
let inputValues = inputValuesContainer.querySelectorAll(".ProductVariant__Item");
inputValues.forEach(el => {
if (el.style.display != "none") {
showGroup = true;
}
});
if (showGroup == false) {
elcg.style.display = 'none';
} else {
elcg.style.display = 'block';
}
});
}
} catch (e) {}
}
const showHideToolTip = (el, willShow) => {
const hoverPosition = el.getAttribute('data-option-position')
let hoveredSwatch = document.querySelector('.ProductVariant__Tooltip--' + hoverPosition)
if (willShow) {
hoveredSwatch.style.display = 'grid'
overlayEl.style.display = 'block'
functiondisable()
document.documentElement.classList.add("modal_active");
document.body.classList.add("modal_active");
} else {
hoveredSwatch.style.display = 'none'
overlayEl.style.display = 'none'
functionenable()
document.documentElement.classList.remove("modal_active");
document.body.classList.remove("modal_active");
}
}
window.addEventListener("load", () => {
selectedSwatches.forEach(el => {
filterThumbnail(el)
});
filterSelectFrameAndAccent(true);
})
const functiondisable = () => {
// To get the scroll position of current webpage
TopScroll = window.pageYOffset || document.documentElement.scrollTop;
LeftScroll = window.pageXOffset || document.documentElement.scrollLeft,
// if scroll happens, set it to the previous value
window.onscroll = function() {
window.scrollTo(LeftScroll, TopScroll);
};
}
const functionenable = () => {
window.onscroll = function() {};
}
const handleAddToCart = e => {
e.preventDefault()
const el = e.target
const variantId = el.getAttribute('data-hidden-id')
const quantity = el.getAttribute('data-quantity')
el.setAttribute('disabled', 'disabled');
document.dispatchEvent(new CustomEvent('theme:loading:start'));
$.ajax({
type: 'POST',
url: '/cart/add.js',
dataType: 'json',
data: {
quantity: quantity,
id: variantId
},
success: function() {
document.dispatchEvent(new CustomEvent('product:added', {
bubbles: true,
detail: {
variant: variantId,
quantity: quantity ? parseInt(quantity) : 1
}
}));
document.dispatchEvent(new CustomEvent('theme:loading:end'));
el.removeAttribute('disabled')
}
})
}
//Removed the prameters as the selected variant values can be easily retrived using a query selector. With this, any additional options should work regardless if the option name is frame or accent or other option name.
const selectedVariant = () => {
let selectedItems = document.querySelectorAll('.ProductVariant__Item:not(.ProductVariant__HideSwatch) .ProductVariant__Radio--Selector:checked');
let selectedTitleArr = [];
let selectedTitleStr = '';
selectedItems.forEach(selectedEl => {
selectedTitleArr.push(selectedEl.value)
})
selectedTitleStr = selectedTitleArr.join(" / ");
console.log('selectedTitleStr');
console.log(selectedTitleStr);
var variants = [];
var item_v = {};
item_v.sku = "TAHI-11C-TENAT";
item_v.id = "42641523802360";
item_v.title = "Teak Natural";
item_v.inventory_quantity = 11; // Add the inventory_quantity property
variants.sort((a, b) => b.inventory_quantity - a.inventory_quantity);
variants.push(item_v);
/* old code to be deleted */
/*
let new_variant_title = null
var selected = null
if(frame && !accent){
new_variant_title = frame;
} else if(!frame && accent){
new_variant_title = accent;
} else if(frame && accent){
new_variant_title = frame + ' / ' + accent;
} */
/* end unused code to be deleted */
let filtered_variant = variants.filter(function(variants) {
return variants.title == selectedTitleStr;
})
filtered_variant.length && (selected = filtered_variant[0])
if (selected) {
selectedItem.dataset.sku = selected.sku;
selectedItem.value = selected.id;
} else {
try {
//If no variant data found, then select the first on the list
let variantGroups = document.querySelectorAll('.ProductVariant__Group.ProductForm__Option');
if (variantGroups.length > 1 && !initialLoad) {
let accentItems = variantGroups[1].querySelectorAll('.ProductVariant__Item:not(.ProductVariant__HideSwatch)');
if (accentItems.length) {
accentItems.forEach(item => {
item.querySelector('.ProductVariant__Radio--Selector').checked = false;
});
}
accentItems[0].querySelector('.ProductVariant__Radio--Selector').click();
accentItems[0].querySelector('.ProductVariant__Radio--Selector').checked = true;
}
} catch (e) {}
}
}
const variantOptions = (accent, frame, stocked, custom, swatchPosition) => {
var stockedAccent = []
var stockedFrame = []
let frames = frame.replace(/ /g, '_');
let accents = accent.replace(/ /g, '_');
var item = {}
var frameList = {}
item.title = "Teak Natural"
item.id = "42641523802360"
stockedAccent.push(item)
frameList.frame = "Teak Natural"
stockedFrame.push(frameList)
var variants = [];
var item_v = {}
item_v.sku = "TAHI-11C-TENAT"
item_v.id = "42641523802360"
item_v.title = "Teak Natural"
variants.push(item_v)
const urlParams = new URLSearchParams(window.location.search);
const highlight = urlParams.get('highlight');
const accentVariantId = urlParams.get('variant');
/**
* Hide / Show Acccents Fabric Swatches based on selected Frame
*
*/
const accentSelector = document.querySelectorAll('.ProductVariant__Item_Accent')
accentSelector.forEach(element => {
if (element.classList.contains(frames)) {
element.classList.remove('ProductVariant__HideSwatch')
} else {
element.classList.add('ProductVariant__HideSwatch')
}
});
/**
* Logic for adding border to selected swatches displaying label based on selected fabric swatches custom/stocked
*
*
*/
const stocked_optname = document.querySelector('.Stocked__Container > div > span.ProductVariant__OptionName');
const stocked_viewswatch = document.querySelector('.Stocked__Container > div > span.Tooltip__Toggle');
var stock_frame = stockedFrame.filter(function(stockedAccent) {
return stockedAccent.frame == frame
})
if (stock_frame.length >= 1) {
stocked_optname && (stocked_optname.style.display = 'block');
stocked_viewswatch && (stocked_viewswatch.style.display = 'block');
} else {
stocked_optname && (stocked_optname.style.display = 'none');
stocked_viewswatch && (stocked_viewswatch.style.display = 'none');
}
//Fallback just incase this variable doesnt exsist, to avoid errors
var currentVariantIdShopifyVariable = '42641523802360';
var currentVariantIdParsed = parseInt(currentVariantIdShopifyVariable);
const accentVariantIds = (currentVariantIdParsed) ? currentVariantIdParsed : urlParams.get('variant');
var stockedAccentVariant = stockedAccent.filter(function(stockedAccent) {
return stockedAccent.id == accentVariantIds
})
if (stockedAccentVariant.length >= 1) {
var arr = stockedAccentVariant[0].title.split('/');
var accent = "";
if (arr[1] !== undefined) {
accent = arr[1].trim();
var selected = stockedAccent.filter(function(stockedAccent) {
return stockedAccent.title == frame + ' / ' + accent
});
if (selected.length >= 1) {
stocked = true
custom = false
} else {
stocked = false
custom = true
}
}
} else {
var selected = stockedAccent.filter(function(stockedAccent) {
return stockedAccent.title == frame + ' / ' + accent
})
if (selected.length >= 1) {
stocked = true
custom = false
} else {
if (selected.length < 1) {
stocked = false
custom = true
} else {
stocked = true
custom = false
}
}
}
/**
* Process / Display Stocked Accents
*
*
*/
const el_stocked = document.querySelectorAll('.Stocked__Accents')
el_stocked.forEach(s_el => {
if (s_el.classList.contains(frames)) {
const selected_stock = s_el.querySelector('.Stocked__Accents_Input')
const stocked_label = document.querySelector('.Stocked__Container > div > span.ProductVariant__OptionName > span.ProductForm__SelectedValue')
const custom_label = document.querySelector('.Custom__Container > div > span.ProductVariant__OptionName > span.ProductForm__SelectedValue')
if (accent == selected_stock.value && stocked == true) {
selected_stock.checked = true;
stocked_label.innerHTML = accent
custom_label.innerHTML = ''
toggleTooltipG2.style.display = 'none'
toggleTooltipG1.style.display = 'flex'
toggleTooltipG1.setAttribute('data-option-position', s_el.getAttribute('data-option-position'))
}
}
})
/**
* Process / Display Custom Accents
* Hide Stocked Accent in list of Custom Accents
*
*/
const el_custom = document.querySelectorAll('.Custom__Accents')
el_custom.forEach(c_el => {
if (c_el.classList.contains(frames)) {
const selected_custom = c_el.querySelector('.Custom__Accents_Input')
const stocked_label = document.querySelector('.Stocked__Container > div > span.ProductVariant__OptionName > span.ProductForm__SelectedValue')
const custom_label = document.querySelector('.Custom__Container > div > span.ProductVariant__OptionName > span.ProductForm__SelectedValue')
if (accent == selected_custom.value && custom == true) {
toggleTooltipG2.style.display = 'flex'
toggleTooltipG1.style.display = 'none'
toggleTooltipG2.setAttribute('data-option-position', c_el.getAttribute('data-option-position'))
selected_custom.checked = true;
custom_label.innerHTML = accent
stocked_label.innerHTML = ''
}
if (c_el.classList.contains('ProductVariant__HideSwatch')) {
selected_custom.checked = false
}
stockedAccent.forEach(function(title) {
const s_accent_opt = title.title.split(' / ');
let s_frame = s_accent_opt[0].replace(/ /g, '_');
let s_accent = s_accent_opt[1].replace(/ /g, '_');
if (c_el.classList.contains(s_frame) && c_el.getAttribute('data-accent') == s_accent) {
c_el.classList.add('ProductVariant__HideSwatch')
selected_custom.checked = false
}
})
}
});
try {
//To fix the bug where custom variant is not selected when the previous frame has a stocked variant and the selected frame doesnt have one. e.g: products/mlb-lounge-chair , products/pacific-2-seat-sofa
let stockedContainerHeight = document.querySelector('.ProductVariant__GroupContainer.Stocked__Container').clientHeight;
let stockedContainer = document.querySelector('.ProductVariant__GroupContainer.Stocked__Container');
let selectedStockedItem = stockedContainer.querySelectorAll('.ProductVariant__Item:not(.ProductVariant__HideSwatch) .ProductVariant__Radio--Selector:checked');
let customContainer = document.querySelector('.ProductVariant__GroupContainer.Custom__Container');
let selectedCustomItem = customContainer.querySelectorAll('.ProductVariant__Item:not(.ProductVariant__HideSwatch) .ProductVariant__Radio--Selector:checked');
//If the stocked container is hidden and there's no selected item within the custom container.
if (stockedContainerHeight <= 0 && !selectedCustomItem[0]) {
//get the first visible element from the custom container
let getFirstItemInCustomContainer = customContainer.querySelectorAll('.ProductVariant__Item:not(.ProductVariant__HideSwatch)');
getFirstItemInCustomContainer[0].querySelector('.ProductVariant__Radio--Selector').click();
getFirstItemInCustomContainer[0].querySelector('.ProductVariant__Radio--Selector').checked = true;
}
// If there is no selected stock item and as well as there is no selected custom item, then select the first one in the list that is not hidden
else if (!selectedStockedItem[0] && !selectedCustomItem[0]) {
//get the first visible element from the custom container
let getFirstItemInStockedContainer = stockedContainer.querySelectorAll('.ProductVariant__Item:not(.ProductVariant__HideSwatch)');
//get the first visible element from the custom container
let getFirstItemInCustomContainer = customContainer.querySelectorAll('.ProductVariant__Item:not(.ProductVariant__HideSwatch)');
if (getFirstItemInStockedContainer[0]) {
getFirstItemInStockedContainer[0].querySelector('.ProductVariant__Radio--Selector').click();
getFirstItemInStockedContainer[0].querySelector('.ProductVariant__Radio--Selector').checked = true;
} else {
getFirstItemInCustomContainer[0].querySelector('.ProductVariant__Radio--Selector').click();
getFirstItemInCustomContainer[0].querySelector('.ProductVariant__Radio--Selector').checked = true;
}
}
} catch (e) {}
}
const filterSelectFrameAndAccent = (onLoad) => {
let urlParams = new URLSearchParams(window.location.search);
let highlight = urlParams.get('highlight');
let accentVariantId = urlParams.get('variant');
let firstStockedOption = {
"id": 42641523802360,
"title": "Teak Natural",
"option1": "Teak Natural",
"option2": null,
"option3": null,
"sku": "TAHI-11C-TENAT",
"requires_shipping": true,
"taxable": true,
"featured_image": {
"id": 39417438208248,
"product_id": 7641567854840,
"position": 1,
"created_at": "2023-08-07T16:03:12-07:00",
"updated_at": "2023-08-07T16:03:13-07:00",
"alt": "Tahiti Side Table - Harbour - ShopHarbourOutdoor - TAHI-11C-TENAT",
"width": 2048,
"height": 2048,
"src": "\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-271754.png?v=1691449393",
"variant_ids": [42641523802360]
},
"available": true,
"name": "Tahiti Side Table - Teak Natural",
"public_title": "Teak Natural",
"options": ["Teak Natural"],
"price": 103600,
"weight": 24948,
"compare_at_price": 159500,
"inventory_management": "shopify",
"barcode": "793519445133",
"featured_media": {
"alt": "Tahiti Side Table - Harbour - ShopHarbourOutdoor - TAHI-11C-TENAT",
"id": 32032194724088,
"position": 1,
"preview_image": {
"aspect_ratio": 1.0,
"height": 2048,
"width": 2048,
"src": "\/\/shopharbour.com\/cdn\/shop\/products\/tahiti-side-table-tahi-11c-tenat-271754.png?v=1691449393"
}
},
"requires_selling_plan": false,
"selling_plan_allocations": [],
"quantity_rule": {
"min": 1,
"max": null,
"increment": 1
}
};
let option1_title = firstStockedOption.option1;
let option2_title = firstStockedOption.option2;
if (!accentVariantId && !highlight) {
//get the first visible element from the 1st option container
let variantFirstGroupContainer = document.querySelectorAll('.ProductForm__Variants .ProductVariant__Group');
let firstGroupTobeSelectedItem = variantFirstGroupContainer[0].querySelectorAll('.ProductVariant__Item:not(.ProductVariant__HideSwatch) .ProductVariant__Radio--Selector[value="' + option1_title + '"]');
if (firstGroupTobeSelectedItem[0]) {
firstGroupTobeSelectedItem[0].click();
firstGroupTobeSelectedItem[0].checked = true;
}
//get the first visible element from the 1st option container
let variantSecondGroupContainer = document.querySelectorAll('.ProductForm__Variants .ProductVariant__Group');
let secondGroupTobeSelectedItem = variantSecondGroupContainer[1].querySelectorAll('.ProductVariant__Item:not(.ProductVariant__HideSwatch) .ProductVariant__Radio--Selector[value="' + option2_title + '"]');
if (secondGroupTobeSelectedItem[0] && onLoad) {
secondGroupTobeSelectedItem[0].click();
secondGroupTobeSelectedItem[0].checked = true;
document.body.classList.add("cylindo_initial_load");
}
}
if (!onLoad) {
//get the first visible element from the 1st option container
let variantSecondGroupContainer = document.querySelectorAll('.ProductForm__Variants .ProductVariant__Group');
let secondGroupTobeSelectedItem = variantSecondGroupContainer[1].querySelectorAll('.ProductVariant__Item:not(.ProductVariant__HideSwatch) .ProductVariant__Radio--Selector');
if (secondGroupTobeSelectedItem[0]) {
secondGroupTobeSelectedItem[0].click();
secondGroupTobeSelectedItem[0].checked = true;
}
}
}
const filterThumbnail = swatch => {
const divCarouselImage = document.querySelectorAll('div[data-thumbnail-variant]');
const thumbnailImage = document.querySelectorAll('a[data-thumbnail-variant]');
const selectedSwatchData = swatch.getAttribute('data-swatch')
const swatchData = JSON.parse(selectedSwatchData)
if (swatch.classList.contains('ProductVariant__Radio--group-0')) {
selectedFrame = swatchData.title
}
if (swatch.classList.contains('ProductVariant__Radio--group-1')) {
selectedAccent = swatch.getAttribute('data-thumbnail-swatch')
}
if (swatch.classList.contains('ProductVariant__Radio--group-2')) {
selectedAccent = swatch.getAttribute('data-thumbnail-swatch')
}
let divCarouselSelector = 'div[data-thumbnail-variant]'
let anchorThumbnailSelector = 'a[data-thumbnail-variant]'
if (selectedAccent.trim() !== '' || selectedFrame.trim() !== '') {
divCarouselSelector = 'div[data-thumbnail-variant="' + selectedFrame + ' / ' + selectedAccent + '"]'
anchorThumbnailSelector = 'a[data-thumbnail-variant="' + selectedFrame + ' / ' + selectedAccent + '"]'
} else {
divCarouselSelector = 'div[data-thumbnail-variant]'
anchorThumbnailSelector = 'a[data-thumbnail-variant]'
}
const selectedCarouselImage = document.querySelectorAll(divCarouselSelector);
if (selectedCarouselImage.length < 1) {
divCarouselImage.forEach(el => {
el.classList.remove('HideVariant__Image')
el.classList.add('Carousel__Cell')
})
} else {
divCarouselImage.forEach(el => {
el.classList.add('HideVariant__Image')
el.classList.remove('Carousel__Cell')
});
const selectedAndAll = document.querySelectorAll(`${divCarouselSelector}, div[data-thumbnail-variant="all"]`);
selectedAndAll.forEach(el => {
el.classList.remove('HideVariant__Image')
el.classList.add('Carousel__Cell')
});
}
const ancSelector = document.querySelectorAll(anchorThumbnailSelector);
if (ancSelector.length < 1) {
thumbnailImage.forEach(el => {
el.classList.remove('HideVariant__Image')
})
} else {
thumbnailImage.forEach(el => {
el.classList.add('HideVariant__Image')
});
const selectedAndAllThumbnail = document.querySelectorAll(`${anchorThumbnailSelector}, a[data-thumbnail-variant="all"]`);
var isFirstItem = true;
selectedAndAllThumbnail.forEach((el, i) => {
el.classList.remove('HideVariant__Image');
if (isFirstItem) {
el.click();
el.classList.add('is-selected');
isFirstItem = false;
}
})
}
}
selectedSwatches.forEach(el => {
handleSwatchChange(el, true);
})
swatchEl.forEach(el => {
el.addEventListener("change", () => handleSwatchChange(el, false));
el.addEventListener("change", () => filterThumbnail(el));
})
addToCartButtons.forEach(el => {
el.addEventListener("click", handleAddToCart)
})
closeModalButton.forEach(el => {
el.addEventListener("click", (e) => showHideToolTip(el, false))
})
toggleTooltip.forEach(el => {
el.addEventListener("click", (e) => showHideToolTip(el, true))
})
modalAddToCartBtn.forEach(el => {
el.addEventListener("click", handleAddToCart)
})
//handleTooltipPosition(swatchContainers)
}());
</script>
<script>
(function() {
const urlParams = new URLSearchParams(window.location.search);
const highlight = urlParams.get('highlight');
if (highlight) {
const selectorEl = document.querySelectorAll('.ProductVariant__Values')
const selectorButtons = document.querySelectorAll('.ProductVariant__Item')
//const highlightEl = document.querySelector('.ProductForm__Highlight')
const selectedValueEl = document.querySelectorAll('.ProductVariant__OptionName')
//selectorEl.forEach((el) => {
//el.style.display = 'none'
//})
selectorButtons.forEach((btn) => {
const btnEl = btn.querySelector('.ProductVariant__Radio')
if (!btnEl.checked) {
btn.style.display = 'none'
}
})
selectedValueEl.forEach((el) => {
const valueEl = el.querySelector('.ProductVariant__SelectedValue')
if (valueEl.innerHTML === '') {
el.style.display = 'none'
}
})
//selectorBtn.style.display = 'none'
//highlightEl.style.display = 'block'
}
})()
</script>
<div class="available-soon">
<script>
var individual_variant_metafield = [];
individual_variant_metafield.push('estimate_shipping_dates_1-.');
individual_variant_metafield.push('estimate_shipping_dates_2-.');
individual_variant_metafield.push('estimate_shipping_dates_3-.');
individual_variant_metafield.push('estimate_shipping_dates_4-.');
individual_variant_metafield.push('estimate_shipping_dates_5-.');
individual_variant_metafield.push('instock-INSTOCK');
individual_variant_metafield.push('special_order_lead_time-30');
individual_variant_metafield.push(
'available_date_string-<div class="custom_message"> This Custom Fabric has a arrival estimate of 30 weeks</div> <div class="stock_message"> This Custom Fabric has a arrival estimate of 30 weeks</div>'
);
variant_metafield.push({
42641523802360: individual_variant_metafield
});
variant_inventory.push({
42641523802360: 11
});
</script>
<strong class="hide">Arrival Date: <div class="available-date">
<div class="custom_message"> This Custom Fabric has a arrival estimate of 30 weeks</div>
<div class="stock_message"> This Custom Fabric has a arrival estimate of 30 weeks</div>
</div>
</strong>
<div class="instock_msg " style="font-size:14px;font-weight:bold;font-style:normal;color:#056d00;">IN STOCK</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function($) {
$(".no-js-hidden").on("click", function() {
var refreshint = setInterval(function() {
location.reload();
}, 1000);
});
});
</script>
<div class="ProductForm__QuantitySelector">
<div class="QuantitySelector QuantitySelector--large"><button type="button" class="QuantitySelector__Button Link Link--secondary" data-action="decrease-quantity"><svg class="Icon Icon--minus " role="presentation" viewBox="0 0 16 2">
<path d="M1,1 L15,1" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path>
</svg></button>
<input type="text" class="QuantitySelector__CurrentQuantity" pattern="[0-9]*" name="quantity" value="1" aria-label="Quantity">
<button type="button" class="QuantitySelector__Button Link Link--secondary" data-action="increase-quantity"><svg class="Icon Icon--plus " role="presentation" viewBox="0 0 16 16">
<g stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square">
<path d="M8,1 L8,15"></path>
<path d="M1,8 L15,8"></path>
</g>
</svg></button>
</div>
</div>
<div class="ProductForm__BuyButtons"><button type="submit" data-use-primary-button="true" class="ProductForm__AddToCart Button Button--primary Button--full" data-action="add-to-cart"><span>Add to cart</span>
<span class="Button__SeparatorDot"></span>
<span class="subtotall-price">$1,036.00</span>
</button></div><shopify-payment-terms variant-id="42641523802360"
shopify-meta="{"type":"product","variants":[{"id":42641523802360,"price_per_term":"$259.00","full_price":"$1,036.00","eligible":true,"available":true}],"min_price":"$50.00","max_price":"$30,000.00","financing_plans":[{"min_price":"$50.00","max_price":"$149.99","terms":[{"apr":0,"loan_type":"split_pay","installments_count":4}]},{"min_price":"$150.00","max_price":"$999.99","terms":[{"apr":0,"loan_type":"split_pay","installments_count":4},{"apr":15,"loan_type":"interest","installments_count":3},{"apr":15,"loan_type":"interest","installments_count":6},{"apr":15,"loan_type":"interest","installments_count":12}]},{"min_price":"$1,000.00","max_price":"$30,000.00","terms":[{"apr":15,"loan_type":"interest","installments_count":3},{"apr":15,"loan_type":"interest","installments_count":6},{"apr":15,"loan_type":"interest","installments_count":12}]}],"installments_buyer_prequalification_enabled":false,"seller_id":null}"></shopify-payment-terms>
<div class="ProductMeta__Description">
<div class="Rte">
<div class="easytabs-text">Our Tahiti collection blends organic materials with refined construction. The Tahiti Side Table is the perfect outdoor side table — featuring solid Indonesian teak slatted construction. Curved edges give the
design a contemporary touch. A great add on, this rectangular statement piece adds an exclamation point on any outdoor space and can fit right next to your Armless components as a sit extension and convenient surface.<br><br></div>
<div class="easytabs-container tab-widget-7641567854840 easytabs-inited" data-et-min-width="0" data-et-auto-accordion="0" data-et-cbw="1" data-et-cbr="0" data-et-sta="0" data-et-amp="0" data-et-flx="0" data-et-wt="0" data-et-ao="1"
id="7641567854840" data-et-tabs-width="269">
<div class="easytabs-holder easytabs-accordion">
<ul class="easytabs-tabs" role="tablist">
<li class="easytabs-tab-item" data-et-marker="tabs-tahiti-side-table-2" data-et-handle="tabs-features" role="tab" tabindex="0" aria-labelledby="easytabs-tab-label-7641567854840-0" aria-selected="true"> <span
class="easytabs-header-text ui-tabs-anchor js-no-transition" id="easytabs-tab-label-7641567854840-0">FEATURES</span> </li>
<li class="easytabs-tab-item" data-et-marker="tabs-tahiti-side-table-s0" data-et-handle="tabs-spec" role="tab" tabindex="-1" aria-labelledby="easytabs-tab-label-7641567854840-1" aria-selected="false"><span
class="easytabs-header-text ui-tabs-anchor js-no-transition" id="easytabs-tab-label-7641567854840-1">SPEC</span></li>
<li class="easytabs-tab-item" data-et-marker="tabs-tahiti-side-table-s1" data-et-handle="tabs-care" role="tab" tabindex="-1" aria-labelledby="easytabs-tab-label-7641567854840-2" aria-selected="false"><span
class="easytabs-header-text ui-tabs-anchor js-no-transition" id="easytabs-tab-label-7641567854840-2">CARE</span></li>
<li class="easytabs-tab-item" data-et-marker="tabs-tahiti-side-table-s2" data-et-handle="tabs-shipping" role="tab" tabindex="-1" aria-labelledby="easytabs-tab-label-7641567854840-3" aria-selected="false"><span
class="easytabs-header-text ui-tabs-anchor js-no-transition" id="easytabs-tab-label-7641567854840-3">SHIPPING</span></li>
</ul>
<div class="easytabs-contents" role="tablist">
<div class="easytabs-content-item" data-et-marker="tabs-tahiti-side-table-2" data-et-handle="tabs-features">
<div class="easytabs-accordion-item" role="tab" tabindex="0" aria-labelledby="easytabs-slide-label-7641567854840-0" aria-selected="true"> <span class="easytabs-header-text ui-tabs-anchor js-no-transition"
id="easytabs-slide-label-7641567854840-0">FEATURES</span> <span class="easytabs-accordion-glyph"></span> </div>
<div class="easytabs-content-holder" role="tabpanel" aria-labelledby="easytabs-slide-label-7641567854840-0" aria-expanded="true" aria-hidden="false"> <br>• Frame handcrafted of sustainably sourced solid Indonesian teak in our
workshop <br>• When properly maintained and cared for, teak is the ideal outdoor material with its natural resistance to weather, cracking and rotting. Please refer to our Care + Maintenance Guide for additional information
about the care and natural beauty of teak. <br>• Slatted top and frame allows the teak to naturally expand and contract with changing weather <br>• Our custom outdoor covers are strongly recommended as an extra layer of
protection against the elements and natural aging </div>
</div>
<div class="easytabs-content-item easytabs-content-item-static" data-et-marker="tabs-tahiti-side-table-s0" data-et-handle="tabs-spec">
<div class="easytabs-accordion-item" role="tab" tabindex="-1" aria-labelledby="easytabs-slide-label-7641567854840-1" aria-selected="false"><span class="easytabs-header-text ui-tabs-anchor js-no-transition"
id="easytabs-slide-label-7641567854840-1">SPEC</span><span class="easytabs-accordion-glyph"></span></div>
<div class="easytabs-content-holder" role="tabpanel" aria-labelledby="easytabs-slide-label-7641567854840-1" aria-expanded="false" aria-hidden="true">
<div class="TableWrapper">
<table style="text-align: center;" border="0" align="center" cellpadding="0" cellspacing="0" class="body" padding="0">
<tbody>
<tr>
<td><strong>Width (in)</strong></td>
<td align="right">37.2</td>
</tr>
<tr>
<td><strong>Depth (in)</strong></td>
<td align="right">28.3</td>
</tr>
<tr>
<td><strong>Height (in) </strong></td>
<td align="right">10</td>
</tr>
<tr>
<td><strong>Weight (lb)</strong></td>
<td align="right">55</td>
</tr>
<tr>
<td><strong>Seat Height (in)</strong></td>
<td align="right">0</td>
</tr>
<tr>
<td><strong>Arm Height (in)</strong></td>
<td align="right">0</td>
</tr>
<tr>
<td><!--
////////////////////////
// TEAR SHEET TRIGGER //
////////////////////////
-->
<!-- Add this code wherever you want your button to trigger the TEAR SHEET code -->
<!-- Don't forget to add some style, broh -->
<div class="tear-btn" id="tear-btn" style="align-self: auto;" onclick="tearSheet()">
<input id="tear-sheet" type="button" name="print" value="PRINT TEAR SHEET" aria-label="Product Tear Sheet" style="font-size:14px; font-weight:regular; color:#FFF; background-color:#000;
padding: 0; border:0; padding:9px;
">
</div>
<!-- TEAR SHEET CODE -->
<script>
var variantId = `42641523802360`;
var product_id = `7641567854840`;
var imgStore = 'image' + variantId;
var imgGet = `products/tahiti-side-table-tahi-11c-tenat-271754.png`;
var imgPrint = `//shopharbour.com/cdn/shop/products/tahiti-side-table-tahi-11c-tenat-271754_720x720.png?v=1691449393`;
var titleStore = 'title' + variantId;
//var titlePrint = `Tahiti Side Table`;
//var titlePrint = "titlePrint 1";
var descStore = 'description' + variantId;
var descPrint = `Our Tahiti collection blends organic materials with refined construction. The Tahiti Side Table is the perfect outdoor side table — featuring solid Indonesian teak slatted construction. Curved edges give the design a contemporary touch. A great add on, this rectangular statement piece adds an exclamation point on any outdoor space and can fit right next to your Armless components as a sit extension and convenient surface.<br><br><h5>FEATURES</h5><br>• Frame handcrafted of sustainably sourced solid Indonesian teak in our workshop
<br>• When properly maintained and cared for, teak is the ideal outdoor material with its natural resistance to weather, cracking and rotting. Please refer to our Care + Maintenance Guide for additional information about the care and natural beauty of teak.
<br>• Slatted top and frame allows the teak to naturally expand and contract with changing weather
<br>• Our custom outdoor covers are strongly recommended as an extra layer of protection against the elements and natural aging`;
var skuStore = 'sku' + variantId;
var skuPrint = `TAHI-11C-TENAT`;
var priceStore = 'price' + variantId;
var pricePrint = `$1,036.00`;
var barcodeStore = 'barcode' + variantId;
var barcodePrint = `793519445133`.toString();
// CLEAR OLD PRODUCT INFO IN LOCAL STORAGE ON PAGE LOAD
localStorage.clear();
// SET CURRENT PRODUCT INFO INTO LOCAL STORAGE
function currentProduct() {
// TITLE
localStorage.setItem(titleStore, `Tahiti Side Table`.toString());
//localStorage.setItem(titleStore, "titlePrint 2");
// console.log('TITLE: ' + localStorage.getItem(titleStore));
// DESCRIPTION
localStorage.setItem(descStore, descPrint);
// console.log('DESC: ' + localStorage.getItem(descStore));
// IMAGE
localStorage.setItem(imgStore, imgPrint);
// console.log('IMAGE: ' + localStorage.getItem(imgStore));
// PRICE
localStorage.setItem(priceStore, pricePrint);
// console.log('PRICE: ' + localStorage.getItem(priceStore));
// SKU
localStorage.setItem(skuStore, skuPrint);
// console.log(localStorage.getItem(skuStore));
// BARCODE
//localStorage.setItem(barcodeStore, barcodePrint);
//localStorage.setItem(barcodeStore, "Barcode 2");
localStorage.setItem(barcodeStore, `37.2`);
// console.log(localStorage.getItem(barcodeStore));
var widthStore = 'width' + variantId;
localStorage.setItem(widthStore, `37.2`);
var heightStore = 'height' + variantId;
localStorage.setItem(heightStore, `10`);
}
// CALL FUNCTION TO SET PRODUCTS INTO LOCAL STORAGE ON PAGE LOAD
// NOTE: This is optional...
//currentProduct(); // ...can be commented out and left to be called at the 'tearSheet' function below
function tearSheet() {
localStorage.clear();
currentProduct();
var variantId = '42641523802360';
//var variantId = '';
/////// OPEN TEAR SHEET PRINT PAGE ///////
//window.open("/pages/tear-sheet?"+variantId);
window.open("https://shopharbour.trafico.io/tearsheet/?id=" + product_id);
//window.open("/pages/tear-sheet?"+XXX);
};
</script>
</td>
<td></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="easytabs-content-item easytabs-content-item-static" data-et-marker="tabs-tahiti-side-table-s1" data-et-handle="tabs-care">
<div class="easytabs-accordion-item" role="tab" tabindex="-1" aria-labelledby="easytabs-slide-label-7641567854840-2" aria-selected="false"><span class="easytabs-header-text ui-tabs-anchor js-no-transition"
id="easytabs-slide-label-7641567854840-2">CARE</span><span class="easytabs-accordion-glyph"></span></div>
<div class="easytabs-content-holder" role="tabpanel" aria-labelledby="easytabs-slide-label-7641567854840-2" aria-expanded="false" aria-hidden="true">
<p>Equally important is the appropriate use and correct maintenance of the product. You can find important tips in our care instructions.</p>
<p><a href="https://shopharbour.com/pages/care">CARE + MAINTENANCE</a></p>
<p></p>
</div>
</div>
<div class="easytabs-content-item easytabs-content-item-static" data-et-marker="tabs-tahiti-side-table-s2" data-et-handle="tabs-shipping">
<div class="easytabs-accordion-item" role="tab" tabindex="-1" aria-labelledby="easytabs-slide-label-7641567854840-3" aria-selected="false"><span class="easytabs-header-text ui-tabs-anchor js-no-transition"
id="easytabs-slide-label-7641567854840-3">SHIPPING</span><span class="easytabs-accordion-glyph"></span></div>
<div class="easytabs-content-holder" role="tabpanel" aria-labelledby="easytabs-slide-label-7641567854840-3" aria-expanded="false" aria-hidden="true">
<p>Place your order with Harbour prior to 12pm PST and if the order is In-Stock, it will ship within 3 business days. All orders will be received within 15 business days from shipping except Metro Los Angeles will be received
within 3 business days.</p>
</div>
</div>
</div>
<div class="easytabs-undertabs-holder"></div>
<style type="text/css" class="easytabs-styles">
.easytabs-hidden {
height: 1px;
visibility: hidden;
}
.easytabs-container {
clear: both;
}
.easytabs-container .easytabs-tabs {
display: block;
overflow: hidden;
padding: 0;
margin: 0;
background: transparent;
border: 0 !important;
border-radius: 0;
list-style: none;
}
/* for some themes */
.easytabs-container ul.easytabs-tabs,
.easytabs-container ul.easytabs-tabs li.easytabs-tab-item {
margin: 0;
}
/* tabs styles */
.easytabs-container .easytabs-tab-item,
.easytabs-container .easytabs-accordion-item {
display: block;
overflow: hidden;
position: relative;
z-index: 4;
width: auto;
height: 12px;
padding: 14px 10px 14px 0px !important;
margin: 0;
background-color: #f7f5f2;
border: 0 solid #000000;
color: #000000;
line-height: 12px;
font-size: 12px;
font-style: normal;
font-weight: bold;
border-radius: 0;
outline: none;
-webkit-box-sizing: content-box !important;
-moz-box-sizing: content-box !important;
box-sizing: content-box !important;
cursor: pointer;
text-overflow: ellipsis;
white-space: nowrap;
opacity: 1 !important;
}
.easytabs-container .easytabs-tab-item {
float: left;
text-align: left;
}
.easytabs-container .easytabs-tab-item:focus,
.easytabs-container .easytabs-accordion-item:focus,
.easytabs-container .easytabs-tab-item.easytabs-active,
.easytabs-container .easytabs-active .easytabs-accordion-item {
background-color: #f7f5f2;
border-color: #d6d4d2;
color: #000000;
}
.easytabs-container.easytabs-flexible .easytabs-tabs {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
}
.easytabs-container.easytabs-flexible .easytabs-tab-item {
-webkit-box-flex: 1;
-moz-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.easytabs-container .easytabs-tab-item span:before,
.easytabs-container .easytabs-accordion-item span:before,
.easytabs-container .easytabs-tab-item span:after,
.easytabs-container .easytabs-accordion-item span:after {
content: none;
}
.easytabs-container .easytabs-tab-item .easytabs-header-text,
.easytabs-container .easytabs-accordion-item .easytabs-header-text {
display: block;
width: auto;
padding: 0;
margin: 0;
color: inherit !important;
border: none;
font: inherit;
text-decoration: none;
outline: none;
-webkit-box-sizing: initial !important;
-moz-box-sizing: initial !important;
box-sizing: initial !important;
cursor: pointer;
}
.easytabs-container.easytabs-flexible .easytabs-tab-item .easytabs-header-text {
text-overflow: ellipsis;
overflow: hidden;
line-height: 1.1;
}
.easytabs-container .easytabs-tab-item span:hover,
.easytabs-container .easytabs-accordion-item span:hover,
.easytabs-container .easytabs-tab-item span:focus,
.easytabs-container .easytabs-accordion-item span:focus {
border: none;
text-decoration: none;
opacity: 1;
}
.easytabs-container .easytabs-contents .easytabs-content-holder {
display: none;
padding: 5px 10px 5px 10px !important;
border-radius: 0 0px 0px 0px;
border: 0 solid #f7f5f2;
background-color: #f7f5f2;
text-align: left;
word-wrap: break-word;
overflow-wrap: break-word;
}
.easytabs-container .easytabs-contents .easytabs-content-holder,
.easytabs-container .easytabs-contents .easytabs-content-holder * {
color: #333333;
}
.easytabs-container.easytabs-flexible .easytabs-contents .easytabs-content-holder {
-moz-border-radius-topright: 0 !important;
-webkit-border-top-right-radius: 0 !important;
border-top-right-radius: 0 !important;
}
.easytabs-container .easytabs-contents .easytabs-active .easytabs-content-holder {
display: block;
}
.easytabs-container .easytabs-tab-item:last-child,
.easytabs-container .easytabs-tab-item.easytabs-last-visible {
border-top-right-radius: 0px;
}
.easytabs-container .easytabs-tab-item:first-child,
.easytabs-container .easytabs-tab-item.easytabs-first-visible {
border-top-left-radius: 0px;
}
.easytabs-container .easytabs-tab-item {
background-color: transparent !important;
border-bottom-width: 1px;
border-color: #f7f5f2;
}
.easytabs-container .easytabs-contents .easytabs-content-holder {
margin-top: -1px;
border-width: 0;
}
/* accordions styles */
.easytabs-container .easytabs-accordion-item {
display: none;
}
.easytabs-container .easytabs-accordion .easytabs-tabs {
height: 0 !important;
visibility: hidden !important;
}
.easytabs-container .easytabs-accordion .easytabs-accordion-item {
display: block;
}
.easytabs-container .easytabs-accordion .easytabs-content-item:first-child .easytabs-accordion-item,
.easytabs-container .easytabs-accordion .easytabs-content-item.easytabs-first-visible .easytabs-accordion-item {
border-top-left-radius: 0px;
border-top-right-radius: 0px;
}
.easytabs-container .easytabs-accordion .easytabs-content-item:last-child .easytabs-accordion-item,
.easytabs-container .easytabs-accordion .easytabs-content-item.easytabs-last-visible .easytabs-accordion-item {
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
}
.easytabs-container .easytabs-accordion .easytabs-content-item.easytabs-active:last-child .easytabs-accordion-item,
.easytabs-container .easytabs-accordion .easytabs-content-item.easytabs-active.easytabs-last-visible .easytabs-accordion-item {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.easytabs-container .easytabs-accordion .easytabs-content-holder {
border-radius: 0 !important;
}
.easytabs-container .easytabs-accordion .easytabs-content-item:last-child .easytabs-content-holder,
.easytabs-container .easytabs-accordion .easytabs-content-item.easytabs-last-visible .easytabs-content-holder {
border-radius: 0 0 0px 0px !important;
}
.easytabs-container .easytabs-accordion-item {
padding-right: 28px !important;
}
.easytabs-container .easytabs-accordion-glyph {
position: absolute;
top: 0;
bottom: 0;
width: 8px;
line-height: 40px;
right: 10px;
}
.easytabs-container .easytabs-content-item .easytabs-accordion-glyph {
background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMjAgMzIwIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBkPSJNMTQzLjEsMjU2LjI1IEw3LjEsMTIwLjI1IGMtOS40LC05LjQgLTkuNCwtMjQuNiAwLC0zMy45IGwyMi42LC0yMi42IGM5LjQsLTkuNCAyNC42LC05LjQgMzMuOSwwIGw5Ni40LDk2LjQgbDk2LjQsLTk2LjQgYzkuNCwtOS40IDI0LjYsLTkuNCAzMy45LDAgbDIyLjYsMjIuNiBjOS40LDkuNCA5LjQsMjQuNiAwLDMzLjkgbC0xMzYsMTM2IGMtOS4yLDkuNCAtMjQuNCw5LjQgLTMzLjgsMCB6Ij48L3BhdGg+PC9zdmc+') no-repeat 0 50%;
background-size: contain;
-webkit-transition: .3s;
-moz-transition: .3s;
-ms-transition: .3s;
-o-transition: .3s;
transition: .3s;
}
.easytabs-container .easytabs-accordion-item:focus .easytabs-accordion-glyph {
background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMjAgMzIwIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBkPSJNMTQzLjEsMjU2LjI1IEw3LjEsMTIwLjI1IGMtOS40LC05LjQgLTkuNCwtMjQuNiAwLC0zMy45IGwyMi42LC0yMi42IGM5LjQsLTkuNCAyNC42LC05LjQgMzMuOSwwIGw5Ni40LDk2LjQgbDk2LjQsLTk2LjQgYzkuNCwtOS40IDI0LjYsLTkuNCAzMy45LDAgbDIyLjYsMjIuNiBjOS40LDkuNCA5LjQsMjQuNiAwLDMzLjkgbC0xMzYsMTM2IGMtOS4yLDkuNCAtMjQuNCw5LjQgLTMzLjgsMCB6Ij48L3BhdGg+PC9zdmc+') no-repeat 0 50%;
background-size: contain;
}
.easytabs-container .easytabs-content-item.easytabs-active .easytabs-accordion-glyph {
background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMjAgMzIwIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBkPSJNMTQzLjEsMjU2LjI1IEw3LjEsMTIwLjI1IGMtOS40LC05LjQgLTkuNCwtMjQuNiAwLC0zMy45IGwyMi42LC0yMi42IGM5LjQsLTkuNCAyNC42LC05LjQgMzMuOSwwIGw5Ni40LDk2LjQgbDk2LjQsLTk2LjQgYzkuNCwtOS40IDI0LjYsLTkuNCAzMy45LDAgbDIyLjYsMjIuNiBjOS40LDkuNCA5LjQsMjQuNiAwLDMzLjkgbC0xMzYsMTM2IGMtOS4yLDkuNCAtMjQuNCw5LjQgLTMzLjgsMCB6Ij48L3BhdGg+PC9zdmc+') no-repeat 0 50%;
background-size: contain;
-moz-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-webkit-transform: rotate(180deg);
-o-transform: rotate(180deg);
transform: rotate(180deg);
}
.easytabs-container .easytabs-accordion-item {
background-color: transparent !important;
}
.easytabs-container .easytabs-active .easytabs-accordion-item {
border-bottom-width: 1px;
}
.easytabs-container .easytabs-accordion .easytabs-contents .easytabs-content-holder {
margin-top: 0;
border-width: 0;
}
.easytabs-container .easytabs-active .easytabs-accordion-item {
border-bottom-width: 0;
}
.easytabs-container .easytabs-accordion .easytabs-content-item+.easytabs-content-item .easytabs-accordion-item {
border-top-width: 1px;
border-color: #d6d4d2;
}
.easytabs-container .easytabs-content-holder p:last-child {
margin-bottom: 0;
}
.easytabs-container .easytabs-kiwi-hidden {
display: none !important;
}
.easytabs-container .easytabs-undertabs-holder {
overflow: hidden;
margin-top: 18px;
}
.easytabs-container .easytabs-tab-item .easytabs-header-text,
.easytabs-container .easytabs-accordion-item .easytabs-header-text {
display: block;
width: auto;
padding: 0;
margin: 0;
color: inherit !important;
font: inherit;
text-decoration: none;
outline: none;
-webkit-box-sizing: initial !important;
-moz-box-sizing: initial !important;
box-sizing: initial !important;
cursor: pointer;
letter-spacing: 2px;
}
</style>
</div>
<script type="text/javascript">
if (typeof easytabs == 'object') easytabs.initWidgets(document.querySelectorAll('.tab-widget-7641567854840'));
</script>
</div>
</div>
</div>
<div id="launchtip_upsell_wrapper1">
<div id="product-tahiti-side-table-weather-cover" style="border-top-width:nullpx;border-left-width:nullpx;border-right-width:nullpx;border-bottom-width:nullpx;border-color:null;padding:nullpx;"
class="item tahiti-side-table productbox upsellproductcount0">
<div class="image upline">
<a href="/products/tahiti-side-table-weather-cover"> <img style="display: block;" src="https://cdn.shopify.com/s/files/1/0624/6812/9016/products/tahiti-side-table-weather-cover-tahi-11c-cvr-srlsnd-128299.png?v=1691449391" alt="" width="60" height=""> </a>
</div>
<div class="details upline" style="font-family:Cabin">
<a class="detail_title" href="/products/tahiti-side-table-weather-cover"> <span class="title" style="font-size:12px;" title="Tahiti Side Table - Weather Cover">Tahiti Side Table - Weather Cover</span> </a>
<div class="detail_price" style="text-transform: uppercase;"><span> $150.00</span> <span>/</span> <span><a href="/pages/club"> club $127.50</a></span></div>
</div>
<div class="action upline">
<div class="lightbox launchtiplightbox upsell_variants" id="fl00p">
<h3>Please select an option</h3>
<div class="lbimg"> <img style="max-width: 250px;height: auto;width:100%;margin: auto;display: block;" class="lightboximage"
src="https://cdn.shopify.com/s/files/1/0624/6812/9016/products/tahiti-side-table-weather-cover-tahi-11c-cvr-srlsnd-128299.png?v=1691449391" alt="" width="" height=""> undefined </div>
</div> <input type="hidden" name="id" value="42641637540088"> <input type="hidden" name="quantity" value="1" tabindex="-1"><input type="hidden" name="properties[_sellup_id]" value="42422"> <button type="submit" name="add"
ind_product_id="7641611763960" sell-id="42422" title="Surlast Sand" action-type="" upsell-type="onpage" class="btn add-to-cart launchtip_add_to_cart launchtip_upsell_design"
style="font-size:12px;background-color:#000000;color:#ffffff;border: none;cursor: pointer;"><span class="add-to-cart__text">ADD THIS</span></button>
</div>
</div>
<div id="product-tahiti-side-table-weather-cover" style="border-top-width:nullpx;border-left-width:nullpx;border-right-width:nullpx;border-bottom-width:nullpx;border-color:null;padding:nullpx;"
class="item tahiti-side-table productbox upsellproductcount1">
<div class="image upline">
<a href="/products/tahiti-side-table-weather-cover"> <img style="display: block;" src="https://cdn.shopify.com/s/files/1/0624/6812/9016/products/tahiti-side-table-weather-cover-tahi-11c-cvr-srlgry-938099.png?v=1691449391" alt="" width="60" height=""> </a>
</div>
<div class="details upline" style="font-family:Cabin">
<a class="detail_title" href="/products/tahiti-side-table-weather-cover"> <span class="title" style="font-size:12px;" title="Tahiti Side Table - Weather Cover">Tahiti Side Table - Weather Cover</span> </a>
<div class="detail_price" style="text-transform: uppercase;"><span> $150.00</span> <span>/</span> <span><a href="/pages/club"> club $127.50</a></span></div>
</div>
<div class="action upline">
<div class="lightbox launchtiplightbox upsell_variants" id="fl10p">
<h3>Please select an option</h3>
<div class="lbimg"> <img style="max-width: 250px;height: auto;width:100%;margin: auto;display: block;" class="lightboximage"
src="https://cdn.shopify.com/s/files/1/0624/6812/9016/products/tahiti-side-table-weather-cover-tahi-11c-cvr-srlgry-938099.png?v=1691449391" alt="" width="" height=""> undefined </div>
</div>
<form action="#" method="post" class="LaunchTipAddToCartForm LaunchTipAddToCartForm" enctype="multipart/form-data"> <input type="hidden" name="id" value="42641637507320"> <input type="hidden" name="quantity" value="1"
tabindex="-1"><input type="hidden" name="properties[_sellup_id]" value="42422"> <button type="submit" name="add" ind_product_id="7641611763960" sell-id="42422" title="Surlast Grey" action-type="" upsell-type="onpage"
class="btn add-to-cart launchtip_add_to_cart launchtip_upsell_design" style="font-size:12px;background-color:#000000;color:#ffffff;border: none;cursor: pointer;"><span class="add-to-cart__text">ADD THIS</span></button> </form>
</div>
</div>
<div class="more_onpage_offers" style=""></div>
</div>
</div>
</div>
</div>
</form>
POST #
<form action="#" method="post" class="LaunchTipAddToCartForm LaunchTipAddToCartForm" enctype="multipart/form-data"> <input type="hidden" name="id" value="42641637507320"> <input type="hidden" name="quantity" value="1" tabindex="-1"><input
type="hidden" name="properties[_sellup_id]" value="42422"> <button type="submit" name="add" ind_product_id="7641611763960" sell-id="42422" title="Surlast Grey" action-type="" upsell-type="onpage"
class="btn add-to-cart launchtip_add_to_cart launchtip_upsell_design" style="font-size:12px;background-color:#000000;color:#ffffff;border: none;cursor: pointer;"><span class="add-to-cart__text">ADD THIS</span></button> </form>
POST /contact#footer-newsletter
<form method="post" action="/contact#footer-newsletter" id="footer-newsletter" accept-charset="UTF-8" class="Footer__Newsletter Form"><input type="hidden" name="form_type" value="customer"><input type="hidden" name="utf8" value="✓"><input
type="hidden" name="contact[tags]" value="newsletter">
<input type="email" name="contact[email]" class="Form__Input" aria-label="Enter your email address" placeholder="Enter your email address" required="">
<button type="submit" class="Form__Submit Button Button--primary">Subscribe</button>
</form>
Text Content
×Close What's Your Email? Add to Wishlist Product has been added to your wishlist You can view your wishlist by creating account or logging-in an existing account. Login Register Tahiti Side Table - Harbour Skip to content SALE OUTDOOR SALE INDOOR SALE STORY NEW ALL NEW CORDOBA COLLINS KARA MANN MASON MAUI MILAN TULUM In Stock Outdoor Living * Lounge Chairs * Sofas * Sectionals * Coffee Tables * Side Tables * Ottomans Outdoor Dining * Dining Chairs * Dining Tables * Counter and Bar Stools * Bar Tables Outdoor Pool * Sun Lounges * Day Beds * Cabanas * Umbrellas Indoor Shop All * In-Stock Outdoor * In-Stock Indoor Outdoor IN STOCK * Lounge Chairs * Sofas * Sectionals * Coffee Tables * Side Tables * Ottomons * Dining Chairs * Dining Tables * Counter + Bar Stools * Bar Tables * Sun Lounges * Day Beds * Cabanas * Umbrellas New Collections * Cassis * CORDOBA * COLLINS * KARA MANN * MASON * MAUI * MILAN * TULUM Outdoor Collections * Shop All * AVALON * AMALFI * ANTIGUA * BREEZE * BREEZE XL ALUMINUM * BREEZE XL TEAK * BYRON * Cassis * COLLINS * CORDOBA * KARA MANN * HAMILTON * HAYMAN ALUMINUM * HAYMAN TEAK * LOOP * LUCCA * MAUI * MASON * MILAN * MLB TEAK * MLB ALUMINUM * PACIFIC ALUMINUM * PACIFIC TEAK * SANTORINI * TAHITI * TULUM * VAUCLUSE * VICTORIA ALUMINUM * VICTORIA TEAK Living * Sofas * Lounge Chairs * Sectionals * Coffee Tables * Side Tables * Ottomans * View All Dining * Dining Chairs * Dining Tables * Counter and Bar Stools * Bar Tables * View All Pool * Sun Lounges * Day Beds * Cabanas * Umbrellas * View All More * Consoles * Bar Carts * Fire Tables * Planters * Rugs * Outdoor Furniture Covers * Outdoor Swatches Indoor TRADE CONTRACT CLUB Showrooms * Account * * * * Cart Your cart is empty In-Stock Designs Ship Within 2-3 Days * SALE * OUTDOOR SALE * INDOOR SALE * STORYSTORY * NEW * ALL NEW * CORDOBA * COLLINS * KARA MANN * MASON * MAUI * MILAN * TULUM * In Stock * Outdoor Living * Lounge Chairs * Sofas * Sectionals * Coffee Tables * Side Tables * Ottomans * Outdoor Dining * Dining Chairs * Dining Tables * Counter and Bar Stools * Bar Tables * Outdoor Pool * Sun Lounges * Day Beds * Cabanas * Umbrellas * Indoor * Shop All * In-Stock Outdoor * In-Stock Indoor * Outdoor * IN STOCK * Lounge Chairs * Sofas * Sectionals * Coffee Tables * Side Tables * Ottomons * Dining Chairs * Dining Tables * Counter + Bar Stools * Bar Tables * Sun Lounges * Day Beds * Cabanas * Umbrellas * New Collections * Cassis * CORDOBA * COLLINS * KARA MANN * MASON * MAUI * MILAN * TULUM * Outdoor Collections * Shop All * AVALON * AMALFI * ANTIGUA * BREEZE * BREEZE XL ALUMINUM * BREEZE XL TEAK * BYRON * Cassis * COLLINS * CORDOBA * KARA MANN * HAMILTON * HAYMAN ALUMINUM * HAYMAN TEAK * LOOP * LUCCA * MAUI * MASON * MILAN * MLB TEAK * MLB ALUMINUM * PACIFIC ALUMINUM * PACIFIC TEAK * SANTORINI * TAHITI * TULUM * VAUCLUSE * VICTORIA ALUMINUM * VICTORIA TEAK * Living * Sofas * Lounge Chairs * Sectionals * Coffee Tables * Side Tables * Ottomans * View All * Dining * Dining Chairs * Dining Tables * Counter and Bar Stools * Bar Tables * View All * Pool * Sun Lounges * Day Beds * Cabanas * Umbrellas * View All * More * Consoles * Bar Carts * Fire Tables * Planters * Rugs * Outdoor Furniture Covers * Outdoor Swatches * IndoorIndoor * TRADETRADE * CONTRACTCONTRACT * CLUBCLUB * ShowroomsShowrooms * Account * Search * Cart (0) TAHITI SIDE TABLE SKU: TAHI-11C-TENAT $1,595.00 $1,036.00 / club $880.60 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! Sorry, we do not have images for the requested feature set. Drag to Rotate. Click to Zoom ! Could not zoom in on the image. * * * * * TAHITI SIDE TABLE SKU: TAHI-11C-TENAT $1,595.00 $1,036.00 / club $880.60 / Finish: Teak Natural VIEW SWATCH Teak Natural Harbour's Teak furniture is made from 100% sustainably sourced Indonesian teak, purchased through legally harvested channels in Indonesia. Our Natural Teak finish is untreated teak, highlighting the beauty of the premium grade logs we source for our production. This swatch is indicative of the tonality of the wood when it first is unboxed, but may vary slightly due to the organic nature of the wood. As Teak lives in the sun, moisture and elements, it will naturally begin to get a silver-grey coloration which will increase in patina over time. This is part of the beauty of teak and does not sacrifice the durability or life. If the original natural color is desired, there are cleaning, sanding and oiling methods to bring it back to its original coloration. Weather Cover also is suggested to slow down this process and keep your furniture in its best condition. Teak Natural Sample $5.00 ADD TO CART Arrival Date: This Custom Fabric has a arrival estimate of 30 weeks This Custom Fabric has a arrival estimate of 30 weeks IN STOCK Add to cart $1,036.00 Our Tahiti collection blends organic materials with refined construction. The Tahiti Side Table is the perfect outdoor side table — featuring solid Indonesian teak slatted construction. Curved edges give the design a contemporary touch. A great add on, this rectangular statement piece adds an exclamation point on any outdoor space and can fit right next to your Armless components as a sit extension and convenient surface. * FEATURES * SPEC * CARE * SHIPPING FEATURES • Frame handcrafted of sustainably sourced solid Indonesian teak in our workshop • When properly maintained and cared for, teak is the ideal outdoor material with its natural resistance to weather, cracking and rotting. Please refer to our Care + Maintenance Guide for additional information about the care and natural beauty of teak. • Slatted top and frame allows the teak to naturally expand and contract with changing weather • Our custom outdoor covers are strongly recommended as an extra layer of protection against the elements and natural aging SPEC Width (in)37.2Depth (in)28.3Height (in) 10Weight (lb)55Seat Height (in)0Arm Height (in)0 CARE Equally important is the appropriate use and correct maintenance of the product. You can find important tips in our care instructions. CARE + MAINTENANCE SHIPPING Place your order with Harbour prior to 12pm PST and if the order is In-Stock, it will ship within 3 business days. All orders will be received within 15 business days from shipping except Metro Los Angeles will be received within 3 business days. Tahiti Side Table - Weather Cover $150.00 / club $127.50 PLEASE SELECT AN OPTION undefined ADD THIS Tahiti Side Table - Weather Cover $150.00 / club $127.50 PLEASE SELECT AN OPTION undefined ADD THIS FINISH THE COLLECTION TAHITI 2 SEAT ARMLESS SOFA $6,750.00 / club $5,737.50 On sale TAHITI ARMLESS DINING CHAIR FROM $1,395.00 $836.00 / club $710.60 TAHITI ARMLESS SINGLE $2,995.00 / club $2,545.75 TAHITI CORNER $4,850.00 / club $4,122.50 TAHITI CURVED 2 SEAT SOFA $9,995.00 / club $8,495.75 TAHITI DINING TABLE $4,995.00 / club $4,245.75 On sale TAHITI ROUND COFFEE TABLE $4,250.00 $2,762.00 / club $2,347.70 On sale TAHITI SIDE TABLE $1,595.00 $1,036.00 / club $880.60 ORGANIC MATERIALS BLEND SEAMLESSLY WITH REFINED CONSTRUCTION. CRAFTED FROM SOLID INDONESIAN TEAK, THIS SUBSTANTIAL COLLECTION PLAYS WITH LINEAR GEOMETRIC AND CURVED RADIUSES THROUGH A SERIES OF SLATS PUNCTUATED BY SLIVERS OF NEGATIVE SPACE. THE COLLECTION This collection features an assortment of handcrafted sectional seating along with dining and occasional tables to complete your outdoor space. FEATURED MATERIALS FABRICS A range of stocked fabrics are available. Balancing texture and outdoor performance, Copacabana fabrics are milled in Indonesia and are 100% Olefin – an incredibly weather-resistant fiber that’s both more resistant to mold and faster drying than polyester. Sourced from Sunproof, an outdoor performance line from Ateja, Copacabana – available in Sand and Midnight – uses 100% recyclable materials. TRAVERTINE Travertine is a sedimentary limestone with a fibrous, marble-like appearance that’s deposited by mineral springs, especially hot springs, with formations located around the world. Organic pitting and unique patterns form against natural whites, tans, creams and even rarer rusty varieties. WHY HARBOUR OUR PRODUCT VALUES FADE RESISTANT FABRIC Color-Protection, even in sunny spaces. CLEANABLE Easily spot cleaned with soap and water. LIQUID RESISTANT FABRIC Liquid spills bead up to be wiped away. PET FRIENDLY Highly durable and claw-repellent. FLAT RATE SHIPPING White glove delivery and setup. QUICK DELIVERY In-stock items ships out next day. YOU MAY ALSO LIKE ANTEGO CANTILEVER UMBRELLA (STONE BASE SOLD SEPARATELY) $2,800.00 / club $2,380.00 ALUMINUM PLANTER - MEDIUM $895.00 / club $760.75 On sale HAYMAN CURTAIN CABANA FROM $12,995.00 $8,449.00 / club $7,181.65 RECENTLY VIEWED COMPANY * Company * Showrooms * Careers * News SERVICES * The Harbour Club * Design Consult * Customer Service * Sustainability * Terms and Conditions * Care + Maintenance * CALL HARBOUR SALES * Trade Program * Dealer Program * Contract INFORMATION * Shipping & Delivery * Privacy Policy * Product Warranty * Returns & Exchanges * Global Sitemap NEWSLETTER Subscribe to receive updates, access to exclusive deals, and more. Subscribe ABOUT HARBOUR Experience the best in modern outdoor living. Harbour creates award-winning luxury outdoor furniture that elevate spaces and enhance experiences. STAY CONNECTED * * * * © Harbour * American Express * Apple Pay * Diners Club * Discover * Meta Pay * Google Pay * Mastercard * Shop Pay * Visa