www.harfington.com Open in urlscan Pro
23.227.38.74  Public Scan

Submitted URL: http://www.harfington.com/
Effective URL: https://www.harfington.com/
Submission: On December 11 via api from US — Scanned from CA

Form analysis 13 forms found in the DOM

POST /localization

<form action="/localization" method="POST"><input name="_method" type="hidden" value="PUT"><input name="source" type="hidden" value="geolocation_recommendation"><input name="return_to" type="hidden" value="/"><input name="country_code" type="hidden"
    value="CA"><button class="recommendation-modal__close-button" type="submit"><svg aria-label="Dismiss" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" style="height: 1em; width: 1em;">
      <path d="M11.414 10l6.293-6.293a.999.999 0 1 0-1.414-1.414L10 8.586 3.707 2.293a.999.999 0 1 0-1.414 1.414L8.586 10l-6.293 6.293a.999.999 0 1 0 1.414 1.414L10 11.414l6.293 6.293a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414L11.414 10z"
        fill="#333333"></path>
    </svg></button></form>

POST /localization

<form action="/localization" method="POST" class="recommendation-modal__form"><input name="_method" type="hidden" value="PUT"><input name="source" type="hidden" value="geolocation_recommendation"><input name="return_to" type="hidden" value="/"><input
    name="country_code" type="hidden" value="CA"><button class="recommendation-modal__button" type="submit" style="background-color: rgb(14, 85, 51); color: rgb(255, 255, 255);">Continue</button></form>

POST /cart

<form id="CartDrawerForm" action="/cart" method="post" novalidate="" class="drawer__contents">
  <div class="drawer__fixed-header">
    <div class="drawer__header appear-animation appear-delay-1">
      <div class="h2 drawer__title">Cart </div>
      <div class="drawer__close">
        <button type="button" class="drawer__close-button js-drawer-close ">
          <svg class="icon" aria-hidden="true" style="width: 20px; height: 20px;">
            <use xlink:href="#pc-close"></use>
          </svg>
          <span class="icon__fallback-text">Close cart</span>
        </button>
      </div>
    </div>
  </div>
  <div class="drawer__inner">
    <div class="drawer__scrollable">
      <div data-products="" class="appear-animation appear-delay-2">
        <div class="cart__items" data-count="0" data-cart-subtotal="0">
        </div>
      </div>
    </div>
    <div class="drawer__footer appear-animation appear-delay-4">
      <div class="drawer-shipping">
        <svg class="icon" style="width: 32px; height: 32px;">
          <use xlink:href="#m-shipping"></use>
        </svg>
        <div data-shipping="">Buy <span> $10.00</span> more to enjoy <strong>Free Standard Shipping!</strong></div>
      </div>
      <div class="drawer__footer-inner">
        <div data-discounts="">
          <div class="cart__discounts cart__item-sub cart__item-row hide">
            <div>Discounts</div>
            <div>
            </div>
          </div>
        </div>
        <div class="cart__item-sub cart__item-row">
          <div class="ajaxcart__subtotal">Subtotal</div>
          <div data-subtotal="">$0.00</div>
        </div>
        <div class="cart__item-row text-center hidden">
          <small> Shipping, taxes, and discount codes calculated at checkout.<br>
          </small>
        </div>
        <div class="cart__checkout-wrapper">
          <button type="submit" name="checkout" style="display: none;" data-terms-required="false" class="btn cart__checkout right-checkout"> Check out </button>
          <button type="button" name="checkout" onclick="openLogin()" data-terms-required="false" class="btn cart__checkout"> Check out </button>
        </div>
        <div class="cart__coupon-text"> Apply a Coupon Code on the next step. </div>
      </div>
    </div>
  </div>
  <div class="drawer__cart-empty appear-animation appear-delay-2">
    <div class="drawer__scrollable"> Your cart is currently empty. </div>
  </div>
</form>

GET /search

<form action="/search" method="get" role="search" id="HeaderSearchForm" class="site-header__search-form js-recent-hot-search-form js-search-header recent-hot-search-form-fake" autocomplete="off">
  <input type="hidden" name="type" value="product,article,page,collection">
  <input type="hidden" name="options[prefix]" value="last">
  <input type="search" style="border: 0;font-size: 0.24rem !important;font-family: 'OpenSans';border-radius: 4px 0 0 4px;color: #222;" name="q" placeholder="Enter keyword, item, model or part #" value="" class="site-header__search-input"
    aria-label="What are you looking for?" autocomplete="off">
</form>

GET https://www.harfington.com/search

<form action="https://www.harfington.com/search" method="get" role="search" id="HeaderSearchForm" class="site-header__search-form js-recent-hot-search-form">
  <input type="hidden" name="type" value="product,article,page,collection">
  <input type="hidden" name="options[prefix]" value="last">
  <button type="button" id="SearchClose" class="js-search-header-close text-link site-header__search-btn site-header__search-btn--close">
    <svg class="icon svg-icon icon-close" onclick="searchCloseBtn()" aria-hidden="true" focusable="false" role="presentation">
      <use xlink:href="#m-return"></use>
    </svg>
    <span class="icon__fallback-text">"Close (esc)"</span>
  </button>
  <div class="site-header__search-box">
    <input type="search" name="q" value="" class="site-header__search-input" aria-label="What are you looking for?" autocomplete="off"><button class="recent-hot-search-clear" type="button">
      <svg class="icon svg-icon">
        <use xlink:href="#pc-sign-close"></use>
      </svg>
    </button>
    <div class="recent-hot-search-placeholder" style="opacity: 1;">
      <p style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;width:100%;margin: 0;padding: 0;"> Enter the keyword, get DIY &amp; repair parts </p>
    </div>
    <div class="recent-hot-search recent-hot-search--m">
      <div class="recent-hot-search-item recent-hot-search-item--recent">
        <div class="recent-hot-search-header">
          <svg class="icon svg-icon recent-hot-search-icon">
            <use xlink:href="#a-pc-recentsearches"></use>
          </svg>
          <span class="recent-hot-search-title">Recent Searches</span>
          <button class="recent-hot-search-trash" type="button">
            <svg class="icon svg-icon">
              <use xlink:href="#a-pc-searchdelete"></use>
            </svg>
          </button>
        </div>
        <div class="recent-hot-search-body recent-hot-search-body--recent"></div>
      </div>
      <div class="recent-hot-search-item recent-hot-search-item-hot">
        <div class="recent-hot-search-header">
          <svg class="icon svg-icon recent-hot-search-icon iconpark-icon">
            <use href="#HotSearches"></use>
          </svg>
          <span class="recent-hot-search-title">Hot Searches</span>
        </div>
        <div class="recent-hot-search-body">
          <a href="https://www.harfington.com/collections/nuts-c-300650">Barrel Nut</a><a href="https://www.harfington.com/collections/frameless-shower-door-seal-strips-c-300821">Door Sweep</a><a href="https://www.harfington.com/collections/sanding-abrasives-c-300017">Sanding Disc</a><a href="https://www.harfington.com/collections/propeller-adapters-c-300156">AAA to AA Adapter</a><a href="https://www.harfington.com/collections/brackets-c-301062">Chandelier Mounting Bracket</a><a href="https://www.harfington.com/collections/washers-c-300805">Flat Rubber Washers</a><a href="https://www.harfington.com/collections/phillips-bits-c-300874">Screwdriver Bits</a><a href="https://www.harfington.com/collections/hinges-c-300939">Stainless Steel Barrel Hinges</a><a href="https://www.harfington.com/collections/catches-c-300928">Magnetic Cabinet Catch</a><a href="https://www.harfington.com/collections/screws-bolts-c-300712">Button Head Hex Screw</a>
        </div>
      </div>
    </div>
  </div>
  <button type="submit" class="text-link site-header__search-btn site-header__search-btn--submit">
    <svg class="icon svg-icon icon-search" aria-hidden="true" focusable="false" role="presentation">
      <use xlink:href="#m-search"></use>
    </svg>
    <span class="icon__fallback-text">Search</span>
  </button>
</form>

GET /search

<form action="/search" method="get" role="search" id="HeaderSearchForm" class="site-header__search-form js-recent-hot-search-form js-search-header recent-hot-search-form-fake">
  <input type="hidden" name="type" value="product,article,page,collection">
  <input type="hidden" name="options[prefix]" value="last">
  <input type="search" style="border: 0;font-size: 0.24rem !important;font-family: 'OpenSans';border-radius: 4px 0 0 4px;color: #222;" name="q" placeholder="Enter keyword, item, model or part #" value="" class="site-header__search-input"
    aria-label="What are you looking for?" autocomplete="off">
</form>

GET /search

<form action="/search" method="get" role="search" id="HeaderSearchForm" class="site-header__search-form js-recent-hot-search-form">
  <input type="hidden" name="type" value="product,article,page,collection">
  <input type="hidden" name="options[prefix]" value="last">
  <div class="site-header__search-box">
    <input type="search" name="q" value="" class="site-header__search-input" aria-label="What are you looking for?" placeholder="" autocomplete="off"><button class="recent-hot-search-clear" type="button">
      <svg class="icon svg-icon">
        <use xlink:href="#pc-sign-close"></use>
      </svg>
    </button>
    <div class="recent-hot-search-placeholder" style="opacity: 1;">
      <p style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;width:100%;margin: 0;padding: 0;"> Enter the keyword, get DIY &amp; repair parts </p>
    </div>
    <div class="recent-hot-search">
      <div class="recent-hot-search-item recent-hot-search-item--recent">
        <div class="recent-hot-search-header">
          <svg class="icon svg-icon recent-hot-search-icon">
            <use xlink:href="#a-pc-recentsearches"></use>
          </svg>
          <span class="recent-hot-search-title">Recent Searches</span>
          <button class="recent-hot-search-trash" type="button">
            <svg class="icon svg-icon">
              <use xlink:href="#a-pc-searchdelete"></use>
            </svg>
          </button>
        </div>
        <div class="recent-hot-search-body recent-hot-search-body--recent"></div>
      </div>
      <div class="recent-hot-search-item recent-hot-search-item-hot">
        <div class="recent-hot-search-header">
          <svg class="icon svg-icon recent-hot-search-icon iconpark-icon">
            <use href="#HotSearches"></use>
          </svg>
          <span class="recent-hot-search-title">Hot Searches</span>
        </div>
        <div class="recent-hot-search-body">
          <a href="https://www.harfington.com/collections/nuts-c-300650">Barrel Nut</a><a href="https://www.harfington.com/collections/frameless-shower-door-seal-strips-c-300821">Door Sweep</a><a href="https://www.harfington.com/collections/sanding-abrasives-c-300017">Sanding Disc</a><a href="https://www.harfington.com/collections/propeller-adapters-c-300156">AAA to AA Adapter</a><a href="https://www.harfington.com/collections/brackets-c-301062">Chandelier Mounting Bracket</a><a href="https://www.harfington.com/collections/washers-c-300805">Flat Rubber Washers</a><a href="https://www.harfington.com/collections/phillips-bits-c-300874">Screwdriver Bits</a><a href="https://www.harfington.com/collections/hinges-c-300939">Stainless Steel Barrel Hinges</a><a href="https://www.harfington.com/collections/catches-c-300928">Magnetic Cabinet Catch</a><a href="https://www.harfington.com/collections/screws-bolts-c-300712">Button Head Hex Screw</a>
        </div>
      </div>
    </div>
  </div>
  <button type="submit" class="text-link site-header__search-btn site-header__search-btn--submit flex-center-base">
    <svg class="iconpark-icon text-24" style="margin-right: 0.02rem;">
      <use href="#pcsearch"></use>
    </svg>
    <span>Search</span>
  </button>
</form>

<form class="inquiry-form">
  <div class="inquiry-form-item inquiry-form-item-validate">
    <div class="inquiry-form-wrap">
      <div class="inquiry-form-item-label">
        <span class="inquiry-form-item-label-star">*</span>
        <span class="inquiry-form-item-label-title">Your Product Needs</span>
      </div>
      <div class="inquiry-form-item-control">
        <div class="inquiry-form-item-control-input">
          <div class="inquiry-form-item-control-input-content ">
            <input name="product_name" class="inquiry-input inquiry-form-control inquiry-input-empty" placeholder="Product Name / ID / Link / Features / Others" data-max-length="500" data-show-count="true" data-show-clear="true" autocomplete="off"
              data-rules="[{
                    regexp: '^\\s*\\S.*\\s*$',
                    msg: 'Please enter your product needs'
                  }]">
          </div>
          <div class="inquiry-input-clear">
            <svg class="icon inquiry-input-close" aria-hidden="true">
              <use xlink:href="#m-sign-close"></use>
            </svg>
          </div>
        </div>
        <div class="inquiry-form-item-explain inquiry-form-item-explain-error"></div>
      </div>
    </div>
  </div>
  <div class="inquiry-form-item inquiry-form-item-validate">
    <div class="inquiry-form-wrap">
      <div class="inquiry-form-item-label">
        <span class="inquiry-form-item-label-star">*</span>
        <span class="inquiry-form-item-label-title">Quantity(Each)</span>
      </div>
      <div class="inquiry-form-item-control">
        <div class="inquiry-form-item-control-input">
          <div class="inquiry-form-item-control-input-content">
            <input name="product_quantity" class="inquiry-input inquiry-form-control inquiry-input-empty" placeholder="Quantity(Each)" data-show-clear="true" autocomplete="off"
              data-force="(Math.abs(parseInt(x.slice(0,8))) || '').toString().slice(0,8)" data-max-length="8" data-rules="[{
                    regexp: '^\\s*\\S.*\\s*$',
                    msg: 'Please enter a valid quantity'
                  }]" type="text">
          </div>
          <div class="inquiry-input-clear">
            <svg class="icon inquiry-input-close" aria-hidden="true">
              <use xlink:href="#m-sign-close"></use>
            </svg>
          </div>
        </div>
        <div class="inquiry-form-item-explain inquiry-form-item-explain-error"></div>
      </div>
    </div>
  </div>
  <div class="inquiry-form-item inquiry-form-item-validate">
    <div class="inquiry-form-wrap">
      <div class="inquiry-form-item-label">
        <span class="inquiry-form-item-label-star">*</span>
        <span class="inquiry-form-item-label-title">Email Address</span>
      </div>
      <div class="inquiry-form-item-control">
        <div class="inquiry-form-item-control-input">
          <div class="inquiry-form-item-control-input-content">
            <input name="email" value="" class="inquiry-input inquiry-form-control inquiry-input-empty" placeholder="Email Address" autocomplete="off" type="text" data-show-clear="true" data-rules="[{
                    regexp: '^\\s*\\S.*\\s*$',
                    msg: 'Please enter a valid email'
                  }, {
                    regexp: '^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$',
                    msg: 'Please enter a valid email'
                  }]">
          </div>
          <div class="inquiry-input-clear">
            <svg class="icon inquiry-input-close" aria-hidden="true">
              <use xlink:href="#m-sign-close"></use>
            </svg>
          </div>
        </div>
        <div class="inquiry-form-item-explain inquiry-form-item-explain-error"></div>
      </div>
    </div>
  </div>
  <div class="inquiry-form-item inquiry-form-item-validate">
    <div class="inquiry-form-wrap">
      <div class="inquiry-form-item-label">
        <span class="inquiry-form-item-label-title">Customer Name</span>
      </div>
      <div class="inquiry-form-item-control">
        <div class="inquiry-form-item-control-input">
          <div class="inquiry-form-item-control-input-content">
            <input name="customer_name" class="inquiry-input inquiry-form-control inquiry-input-empty" placeholder="Customer Name" autocomplete="off" type="text" data-show-clear="true" data-max-length="80">
          </div>
          <div class="inquiry-input-clear">
            <svg class="icon inquiry-input-close" aria-hidden="true">
              <use xlink:href="#m-sign-close"></use>
            </svg>
          </div>
        </div>
        <div class="inquiry-form-item-explain inquiry-form-item-explain-error"></div>
      </div>
    </div>
  </div>
  <div class="inquiry-form-item inquiry-form-item-validate">
    <div class="inquiry-form-item-label">
      <span class="inquiry-form-item-label-title">Expected Arrival Time</span>
    </div>
    <div class="inquiry-form-item-control">
      <div class="inquiry-form-item-control-input">
        <div class="inquiry-form-item-control-input-content">
          <input name="arrival_time" autocomplete="off" class="inquiry-input inquiry-form-control inquiry-input-empty" placeholder="Expected Arrival Time" data-show-clear="true" type="date">
        </div>
        <div class="inquiry-input-clear inquiry-input-date-clear">
          <svg class="icon inquiry-input-close" aria-hidden="true">
            <use xlink:href="#m-sign-close"></use>
          </svg>
        </div>
      </div>
      <div class="inquiry-form-item-explain inquiry-form-item-explain-error"></div>
    </div>
  </div>
  <div class="inquiry-form-item">
    <div class="inquiry-form-item-label">
      <span class="inquiry-form-item-label-title">Customer Note</span>
    </div>
    <div class="inquiry-form-item-control">
      <div class="inquiry-form-item-control-input">
        <div class="inquiry-form-item-control-input-content">
          <input name="customer_note" class="inquiry-input inquiry-form-control inquiry-input-empty" placeholder="Customer note" rows="4" autocomplete="off" data-max-length="990" data-show-count="true" data-show-clear="true">
        </div>
        <div class="inquiry-input-clear">
          <svg class="icon inquiry-input-close" aria-hidden="true">
            <use xlink:href="#m-sign-close"></use>
          </svg>
        </div>
      </div>
      <div class="inquiry-form-item-explain inquiry-form-item-explain-error"></div>
    </div>
  </div>
  <div class="inquiry-form-item">
    <div class="w-138px"></div>
    <div class="inquiry-form-item-control">
      <div class="inquiry-form-item-control-input">
        <div class="inquiry-form-item-control-input-content">
          <button class="inquiry-button inquiry-form-control" type="submit">
            <span>Submit</span>
          </button>
        </div>
      </div>
      <div class="inquiry-share">
        <div class="inquiry-line"> Show more about <a href="https://www.harfington.com/pages/wholesale-program?utmid=wholesale" class="line-text">Wholesale Program</a>
        </div>
      </div>
    </div>
  </div>
  <input type="hidden" name="shop_id" value="">
  <input type="hidden" name="eq">
</form>

POST /contact#newsletter-footer

<form method="post" action="/contact#newsletter-footer" id="newsletter-footer" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer"><input type="hidden" name="utf8" value="✓">
  <div class="footer-subscribe-tips" data-tips-type="hide"></div>
  <label for="Email-" class="hidden-label">Enter your email</label>
  <input type="hidden" name="contact[tags]" value="prospect,newsletter">
  <input type="hidden" name="contact[context]" value="footer">
  <div class="footer__newsletter">
    <input type="email" value="" placeholder="Email address" name="contact[email]" id="Email-" class="footer__newsletter-input" autocorrect="off" autocapitalize="off">
    <button type="submit" class="footer__newsletter-btn" name="commit" aria-label="Subscribe"> Subscribe </button>
  </div>
  <style>
    .footer-subscribe-tips[data-tips-type="hide"] {
      display: none;
    }
  </style>
  <div class="footer-find-us">
    <div class="footer-find-us-title">find us on</div>
    <div class="footer-find-us-icon">
      <a href="https://www.facebook.com/HarfingtonOfficial" target="_blank">
        <svg class="iconpark-icon icon">
          <use href="#facebookblack"></use>
        </svg>
      </a>
      <a href="https://www.instagram.com/harfington_official" target="_blank">
        <svg class="iconpark-icon icon">
          <use href="#insblack"></use>
        </svg>
      </a>
      <a href="https://twitter.com/harfington_us" target="_blank">
        <svg class="iconpark-icon icon">
          <use href="#twitterblack"></use>
        </svg>
      </a>
      <a href="https://www.youtube.com/channel/UCqchip6pP4nEhatcXJhwUEA" target="_blank">
        <svg class="iconpark-icon icon">
          <use href="#youtubeblack"></use>
        </svg>
      </a>
    </div>
  </div>
</form>

POST /contact#newsletter-footer

<form method="post" action="/contact#newsletter-footer" id="newsletter-footer" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer"><input type="hidden" name="utf8" value="✓">
  <div class="footer-subscribe-tips" data-tips-type="hide"></div>
  <label for="Email-" class="hidden-label">Enter your email</label>
  <input type="hidden" name="contact[tags]" value="prospect,newsletter">
  <input type="hidden" name="contact[context]" value="footer">
  <div class="footer__newsletter">
    <input type="email" value="" placeholder="Email address" name="contact[email]" id="Email-" class="footer__newsletter-input" autocorrect="off" autocapitalize="off">
    <button type="submit" class="footer__newsletter-btn" name="commit" aria-label="Subscribe"> Subscribe </button>
  </div>
  <style>
    .footer-subscribe-tips[data-tips-type="hide"] {
      display: none;
    }
  </style>
  <div class="footer-find-us">
    <div class="footer-find-us-title">find us on</div>
    <div class="footer-find-us-icon">
      <a href="https://www.facebook.com/HarfingtonOfficial" target="_blank">
        <svg class="iconpark-icon icon">
          <use href="#facebookblack"></use>
        </svg>
      </a>
      <a href="https://www.instagram.com/harfington_official" target="_blank">
        <svg class="iconpark-icon icon">
          <use href="#insblack"></use>
        </svg>
      </a>
      <a href="https://twitter.com/harfington_us" target="_blank">
        <svg class="iconpark-icon icon">
          <use href="#twitterblack"></use>
        </svg>
      </a>
      <a href="https://www.youtube.com/channel/UCqchip6pP4nEhatcXJhwUEA" target="_blank">
        <svg class="iconpark-icon icon">
          <use href="#youtubeblack"></use>
        </svg>
      </a>
    </div>
  </div>
</form>

POST /account/login

<form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true"><input type="hidden" name="form_type" value="customer_login"><input type="hidden" name="utf8" value="✓">
  <div class="ps-warp">
    <input type="email" name="customer[email]" id="CustomerEmail" placeholder="Email" class="input-full" autocorrect="off" autocapitalize="off" autofocus="" onfocus="emailFocus('#CustomerEmail','.clear-btn1')" onblur="inputleave('.clear-btn1')"
      oninput="emailFocus('#CustomerEmail','.clear-btn1')">
    <div class="ps-show clear-btn1">
      <img class="lazyload" data-src="https://cdn.shopify.com/s/files/1/0595/2477/6095/files/close-icon.png" alt="Clear All" onclick="isEyeOpen('#clear-eye','#CustomerEmail')">
    </div>
  </div>
  <div class="email-invalid-login p-invalid">Email is required or invalid.</div>
  <div class="ps-warp">
    <input type="password" name="customer[password]" id="CustomerPassword" placeholder="Password" class="input-full">
    <div class="ps-show">
      <img class="lazyload" data-src="https://cdn.shopify.com/s/files/1/0595/2477/6095/files/close-eye.png" alt="Show Password" id="ps-showCustomer" onclick="hideShowPswCustomer() ">
    </div>
  </div>
  <div class="password-invalid-login p-invalid">Please enter 6-32 characters as the password.</div>
  <div class="password-invalid-login2 p-invalid">Your password cannot contain spaces.</div>
  <!-- 忘记密码 -->
  <div class="grid">
    <div class="grid__item one-half">
    </div>
    <div class="text-right grid__item one-half">
      <small class="label-info">
        <a class="pc-block" href="#recover" id="RecoverPassword">
              <!-- Forgot password? -->
              Forgot_password?
            </a>
        <span class="phone-block" onclick="forgetPassword()">Forgot_password?</span>
      </small>
    </div>
  </div>
  <!-- 登录 -->
  <div class="wrong-tip-login"></div>
  <button type="submit" class="btn btn--full login-ref"> Sign In </button>
  <div class="submit-hr">
    <div class="sh-line"></div>
    <div class="sh-text">Quick Access With</div>
    <div class="sh-line"></div>
  </div>
  <style>
    .thirdpart-login-wrap {
      display: flex;
      justify-content: center;
    }

    .thirdpart-login-wrap .facebook-new-icon,
    .thirdpart-login-wrap .g-signin2,
    .google-login-btn {
      /* background-image: url('https://cdn.shopify.com/s/files/1/0593/8623/3013/files/s-facebook.png?v=1632637351'); */
      /* background-image: url('https://cdn.shopify.com/s/files/1/0593/8623/3013/files/s-google.png?v=1632637351'); */
      margin: 15px;
      width: 40px !important;
      height: 40px !important;
      background-size: cover;
      cursor: pointer;
    }

    .thirdpart-login-wrap .abcRioButton {
      width: 100% !important;
      height: 100% !important;
      background-color: transparent;
      box-shadow: none;
    }

    #no-history-login,
    #history-login {
      display: none;
    }

    .google-login-btn {
      /* background-image: url('https://cdn.shopify.com/s/files/1/0593/8623/3013/files/s-google.png?v=1632637351'); */
    }

    .thirdpart-login-wrap .facebook-new-icon {
      /* background-image: url('https://cdn.shopify.com/s/files/1/0593/8623/3013/files/s-facebook.png?v=1632637351'); */
    }

    .thirdpart-login-wrap .svg-m-signin {
      width: 100%;
      height: 100%;
    }

    .thirdpart-login-wrap .svg-m-signin-google {
      position: absolute;
      left: 0;
      top: 0;
    }

    .thirdpart-login-btn .g-signin2 {
      margin: 0 !important;
    }

    .thirdpart-login-wrap .abcRioButtonContentWrapper {
      display: none;
    }

    .thirdpart-login-wrap .no-login-facebook,
    .thirdpart-login-wrap .login-facebook,
    .thirdpart-login-wrap .no-login-google-wrap,
    .thirdpart-login-wrap .login-google {
      display: none;
    }

    /* .thirdpart-login-wrap .g-signin2  {
    background-image: url('https://cdn.shopify.com/s/files/1/0593/8623/3013/files/s-google.png?v=1632637351');
    border-radius: 0;
    box-shadow: none;
  } */
    .no-login-google-wrap {
      position: relative;
      width: 40px;
      height: 40px;
      margin: 15px;
    }

    .no-login-google-wrap .g-signin2 {
      margin: 0 !important;
    }

    .thirdpart-login-wrap .g-signin2 {
      /* background-image: url('https://cdn.shopify.com/s/files/1/0593/8623/3013/files/s-google.png?v=1632637351'); */
      border-radius: 0;
      box-shadow: none;
    }

    .shopify-common-dialog {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background: rgba(0, 0, 0, 0.4);
      z-index: 1003;
      pointer-events: auto;
      overflow: hidden;
      transition: .3s cubic-bezier(.25, .8, .5, 1), z-index 1ms;
      justify-content: center;
      align-items: center;
    }

    .shopify-common-dialog .common-dialog-content {
      position: relative;
      width: 500px;
      min-height: 400px;
      background: #ffffff;
      border-radius: 4px;
    }

    .shopify-common-dialog p {
      margin: 0 0 24px;
      color: #999999;
      font-size: 14px;
    }

    .shopify-common-dialog .btn--full {
      background: #0E5533;
      color: #fff;
      border-radius: 4px;
      font-size: 18px;
      letter-spacing: 0;
      font-family: "OpenSans";
      margin-bottom: 24px;
      height: 48px;
      line-height: 48px;
      padding: 0;
    }

    .shopify-common-dialog .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover {
      background: #0E5533;
    }

    .shopify-common-dialog .common-dialog-header {
      position: relative;
      padding-top: 30px;
      width: 100%;
      background: #ffffff;
      border-radius: 4px;
    }

    .shopify-common-dialog .common-dialog-title {
      display: flex;
      justify-content: center;
      width: 100%;
    }

    .shopify-common-dialog .common-dialog-title .m-logo {
      width: 200px;
      height: 45px;
    }

    .shopify-common-dialog .common-dialog-close {
      position: absolute;
      width: 20px;
      height: 20px;
      cursor: pointer;
      top: 24px;
      right: 24px;
    }

    .shopify-common-dialog .common-dialog-body {
      display: flex;
      align-items: center;
      flex-direction: column;
      padding: 30px 40px 30px;
      width: 100%;
      background: #FFFFFF;
      line-height: 36px;
      border-radius: 4px;
    }

    .shopify-common-dialog .account-name {
      margin-bottom: 30px !important;
      max-width: 100%;
      font-size: 24px;
      font-weight: 800;
      color: #000000 !important;
      text-align: center;
      word-wrap: break-word;
      word-break: break-all;
    }

    .shopify-common-dialog .account-tip {
      margin-bottom: 9px !important;
      color: #999999 !important;
      font-size: 16px;
    }

    .shopify-common-dialog .thirdpart-login-btn {
      margin-bottom: 30px;
    }

    .shopify-common-dialog .chose-other-tip,
    .shopify-common-dialog .chose-other-btn {
      margin-bottom: 0 !important;
      font-size: 16px;
      color: #000000 !important;
      font-weight: 700;
    }

    .shopify-common-dialog .chose-other-tip {
      margin-bottom: 18px !important;
    }

    .shopify-common-dialog .chose-other-btn {
      font-size: 14px;
      font-weight: normal;
    }

    .shopify-common-dialog .chose-other-btn span {
      cursor: pointer;
      text-decoration: underline;
    }

    .shopify-common-dialog .chose-other-btn .abcRioButtonContentWrapper {
      display: none;
    }

    .shopify-common-dialog .chose-other-btn .abcRioButtonLightBlue {
      display: inline-block;
      background: none;
      color: #000000;
      box-shadow: none;
      text-decoration: underline;
    }

    .shopify-common-dialog .chose-other-btn .abcRioButtonLightBlue::after {
      content: 'Sign into a different account';
    }

    #thirdpart-condition {
      display: none;
    }

    #thirdpart-condition .common-dialog-body {
      line-height: .20rem;
    }

    #thirdpart-condition .condition-tips {
      line-height: 26px;
      text-align: left;
      white-space: nowrap;
      color: #000000 !important;
    }

    #thirdpart-condition .condition-list p {
      margin-bottom: .20rem;
      text-decoration: underline;
      cursor: pointer;
      color: #000000 !important;
    }

    #thirdpart-condition .accept {
      margin-bottom: .31rem;
    }

    #thirdpart-condition .reject {
      color: #000000;
      background-color: #ffffff;
      border-color: #000000;
    }

    @media screen and (max-width: 768px) {
      .shopify-common-dialog .common-dialog-content {
        width: 7rem;
      }

      #thirdpart-condition .condition-tips {
        text-align: center;
        white-space: normal;
      }
    }
  </style>
  <!-- The JS SDK Login Button -->
  <div id="thirdpartLoginApp" class="dialogSign">
    <!-- <fb:login-button scope="public_profile,email" onlogin="checkLoginState();"></fb:login-button> -->
    <!-- 没有登录过滴 -->
    <div class="thirdpart-login-wrap">
      <div class="facebook-new-icon no-login-facebook" onclick="fbLogindialogSign()" style="display: block;">
        <svg class="icon svg-icon svg-m-signin" aria-hidden="true" focusable="false" role="presentation">
          <use xlink:href="#m-signin-facebook"></use>
        </svg>
      </div>
      <div class="facebook-new-icon login-facebook" onclick="getHistoryLogindialogSign('facebook')" style="display: none;">
        <svg class="icon svg-icon svg-m-signin" aria-hidden="true" focusable="false" role="presentation">
          <use xlink:href="#m-signin-facebook"></use>
        </svg>
      </div>
      <div class="no-login-google-wrap" style="display: block;">
        <svg class="icon svg-icon svg-m-signin svg-m-signin-google" aria-hidden="true" focusable="false" role="presentation">
          <use xlink:href="#m-signin-google"></use>
        </svg>
        <div class="g-signin2 no-login-google" data-onsuccess="googleInitdialogSign" id="google-login-btn" onclick="googleLoginClickdialogSign('first')" data-gapiscan="true" data-onload="true">
          <div style="height:36px;width:120px;" class="abcRioButton abcRioButtonLightBlue">
            <div class="abcRioButtonContentWrapper">
              <div class="abcRioButtonIcon" style="padding:8px">
                <div style="width:18px;height:18px;" class="abcRioButtonSvgImageWithFallback abcRioButtonIconImage abcRioButtonIconImage18"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="18px" height="18px" viewBox="0 0 48 48"
                    class="abcRioButtonSvg">
                    <g>
                      <path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"></path>
                      <path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"></path>
                      <path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"></path>
                      <path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"></path>
                      <path fill="none" d="M0 0h48v48H0z"></path>
                    </g>
                  </svg></div>
              </div><span style="font-size:13px;line-height:34px;" class="abcRioButtonContents"><span id="not_signed_in7e7d8ybneze8">登录</span><span id="connected7e7d8ybneze8" style="display:none">Signed in</span></span>
            </div>
          </div>
        </div>
      </div>
      <span class="google-login-btn login-google" onclick="getHistoryLogindialogSign('google')" style="display: none;">
        <svg class="icon svg-icon svg-m-signin" aria-hidden="true" focusable="false" role="presentation">
          <use xlink:href="#m-signin-google"></use>
        </svg>
      </span>
    </div>
    <div class="shopify-common-dialog" id="thirdpart-login">
      <div class="common-dialog-content">
        <div class="common-dialog-header">
          <div class="common-dialog-title">
            <svg class="icon svg-icon m-logo" aria-hidden="true" focusable="false" role="presentation">
              <use xlink:href="#m-logo"></use>
            </svg>
          </div>
          <div class="common-dialog-close" onclick="closeThirdpartDialogdialogSign()">
            <img class="lazyload" data-src="https://cdn.shopify.com/s/files/1/0595/2477/6095/files/icon-close1.png?v=1637145036" alt="Colse">
          </div>
        </div>
        <div class="common-dialog-body">
          <p class="account-name"></p>
          <p class="account-tip"></p>
          <div class="thirdpart-login-btn thirdpart-login-wrap">
            <div class="no-login-google-wrap google-login-history-wrap">
              <svg class="icon svg-icon svg-m-signin svg-m-signin-google" aria-hidden="true" focusable="false" role="presentation">
                <use xlink:href="#m-signin-google"></use>
              </svg>
              <div class="google-login-history g-signin2" data-onsuccess="googleInitHistorydialogSign" id="google-login-history" onclick="googleLoginClickdialogSign('history')" data-gapiscan="true" data-onload="true">
                <div style="height:36px;width:120px;" class="abcRioButton abcRioButtonLightBlue">
                  <div class="abcRioButtonContentWrapper">
                    <div class="abcRioButtonIcon" style="padding:8px">
                      <div style="width:18px;height:18px;" class="abcRioButtonSvgImageWithFallback abcRioButtonIconImage abcRioButtonIconImage18"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="18px" height="18px" viewBox="0 0 48 48"
                          class="abcRioButtonSvg">
                          <g>
                            <path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"></path>
                            <path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"></path>
                            <path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"></path>
                            <path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"></path>
                            <path fill="none" d="M0 0h48v48H0z"></path>
                          </g>
                        </svg></div>
                    </div><span style="font-size:13px;line-height:34px;" class="abcRioButtonContents"><span id="not_signed_ingzc0buk9gef0">登录</span><span id="connectedgzc0buk9gef0" style="display:none">Signed in</span></span>
                  </div>
                </div>
              </div>
            </div>
            <div class="facebook-new-icon facebook-login-history" onclick="fbLogindialogSign()">
              <svg class="icon svg-icon svg-m-signin" aria-hidden="true" focusable="false" role="presentation">
                <use xlink:href="#m-signin-facebook"></use>
              </svg>
            </div>
          </div>
          <p class="chose-other-tip">Not you?</p>
          <p class="chose-other-btn">
            <span class="sign-other-facebook" onclick="changeAccountdialogSign ('facebook')">Sign into a different account</span>
            <span class="sign-other-google" onclick="changeAccountdialogSign ('google')">Sign into a different account</span> or <span class="create-other-facebook" onclick="changeAccountdialogSign ('facebook')">Create a new one</span>
            <span class="create-other-google" onclick="changeAccountdialogSign ('google')">Create a new one</span>
          </p>
        </div>
      </div>
    </div>
    <div class="shopify-common-dialog" id="thirdpart-condition">
      <div class="common-dialog-content">
        <div class="common-dialog-header">
          <div class="common-dialog-title">
            <svg class="icon svg-icon m-logo" aria-hidden="true" focusable="false" role="presentation">
              <use xlink:href="#m-logo"></use>
            </svg>
          </div>
          <div class="common-dialog-close" onclick="closeThirdpartConditiondialogSign()">
            <img class="lazyload" data-src="https://cdn.shopify.com/s/files/1/0595/2477/6095/files/icon-close1.png?v=1637145036" alt="Colse">
          </div>
        </div>
        <div class="common-dialog-body">
          <p class="condition-tips"> Update Of Terms &amp; Conditions And Policy &amp; Cookie Policy <br> In order to provide better service, please read and accept : </p>
          <div class="condition-list">
            <p onclick="setPrivacyAndTerms('privacy-policy', '.policy-layer')">Privacy &amp; Cookie Policy</p>
            <p onclick="setPrivacyAndTerms('terms-and-conditions', '.terms-layer')">Terms &amp; Conditions</p>
          </div>
          <button type="button" id="facebook-accept-btn" class="btn btn--full accept" onclick="acceptLogindialogSign('facebook')"> ACCEPT </button>
          <button type="button" id="google-accept-btn" class="btn btn--full accept" onclick="acceptLogindialogSign('google')"> ACCEPT </button>
          <button type="button" class="btn btn--full reject" onclick="closeThirdpartConditiondialogSign()"> REJECT </button>
        </div>
      </div>
    </div>
  </div>
  <meta name="google-signin-client_id" content="130824956176-mp0ainiun2hq7oh83egbbhdjt012otkf.apps.googleusercontent.com">
  <script type="text/javascript" src="//www.harfington.com/cdn/shop/t/843/assets/platform.js?v=49663290864038788701689242136" gapi_processed="true"></script>
  <script type="text/javascript" src="//www.harfington.com/cdn/shop/t/843/assets/sdk.js?v=98600324123362212451689242136"></script>
  <script>
    window.sessionStorage.removeItem('login-resp')
    var thirdpartLogin = JSON.parse(window.sessionStorage.getItem('facebook_login')) || JSON.parse(window.sessionStorage.getItem('google_login'));
    var auth2;
    var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);

    function getHistoryLogindialogSign(name) {
      var thirdpartLogin = JSON.parse(window.sessionStorage.getItem(name + '_login'))
      if (thirdpartLogin) {
        var googleHistory = document.querySelector('.dialogSign .google-login-history-wrap')
        var facebookHistory = document.querySelector('.dialogSign .facebook-login-history')
        var signOtherFacebok = document.querySelector('.dialogSign .sign-other-facebook')
        var signOtherGoogle = document.querySelector('.dialogSign .sign-other-google')
        var createOtherFacebok = document.querySelector('.dialogSign .create-other-facebook')
        var createOtherGoogle = document.querySelector('.dialogSign .create-other-google')
        document.querySelector('.dialogSign #thirdpart-login').style.display = "flex"
        document.querySelector('.dialogSign .account-name').innerHTML = 'Welcome back,' + thirdpartLogin.email
        document.querySelector('.dialogSign .account-tip').innerHTML = 'Sign in again with ' + thirdpartLogin.name + ' to continue'
        if (thirdpartLogin.name === "google") {
          googleHistory.style.display = 'block'
          facebookHistory.style.display = 'none'
          signOtherGoogle.style.display = 'inline'
          createOtherGoogle.style.display = 'inline'
          signOtherFacebok.style.display = 'none'
          createOtherFacebok.style.display = 'none'
        }
        if (thirdpartLogin.name === "facebook") {
          facebookHistory.style.display = 'block'
          googleHistory.style.display = 'none'
          signOtherFacebok.style.display = 'inline'
          createOtherFacebok.style.display = 'inline'
          signOtherGoogle.style.display = 'none'
          createOtherGoogle.style.display = 'none'
        }
      }
    }

    function initdialogSign() {
      var noLoginFacebook = document.querySelectorAll('.dialogSign .no-login-facebook')
      var noLoginGoogle = document.querySelectorAll('.dialogSign .no-login-google-wrap')
      var loginFacebook = document.querySelectorAll('.dialogSign .login-facebook')
      var loginGoogle = document.querySelectorAll('.dialogSign .login-google')
      var facebookHasLogin = JSON.parse(window.sessionStorage.getItem('facebook_login')) || false
      var googleHasLogin = JSON.parse(window.sessionStorage.getItem('google_login')) || false
      for (var i = 0; i < noLoginFacebook.length; i++) {
        if (facebookHasLogin) {
          loginFacebook[i].style.display = 'block'
          noLoginFacebook[i].style.display = 'none'
        } else {
          loginFacebook[i].style.display = 'none'
          noLoginFacebook[i].style.display = 'block'
        }
        if (googleHasLogin) {
          loginGoogle[i].style.display = 'block'
          noLoginGoogle[i].style.display = 'none'
        } else {
          loginGoogle[i].style.display = 'none'
          noLoginGoogle[i].style.display = 'block'
        }
      }
    }
    document.addEventListener('DOMContentLoaded', function() {
      initdialogSign()
    }, false)
    window.fbAsyncInit = function() {
      FB.init({
        appId: '1508910519463134',
        cookie: true, // Enable cookies to allow the server to access the session.
        xfbml: true, // Parse social plugins on this webpage.
        version: 'v12.0' // Use this Graph API version for this call.
      });
    };
    // fb的登录后获取token
    function fbStatusChangeCallbackdialogSign(response) { // Called with the results from FB.getLoginStatus().
      if (response.status === 'connected') {
        // FB登录成功
        if (window.loginDialogShowFromCart) {
          gaReportEvent('event', 'CartLogin&RegisterPopup', 'Cart_FBLoginSuccess_event_211215')
        } else if (window.LRDShowFromHomeFootEntry) {
          gaReportEvent('event', 'HomePageRegisterPopup', 'FBLoginSuccess_event_220223')
        } else if (window.LRDShowFromColleFootEntry) {
          gaReportEvent('event', 'ProListPageRegisterPopup', 'FBLoginSuccess_event_220223')
        } else {
          gaReportEvent('event', 'Login&RegisterPopup', 'FBLoginSuccess_event_211208')
        }
        // Logged into your webpage and Facebook.
        fbToShopifydialogSign(response.authResponse.accessToken)
      } else { // Not logged into your webpage or we are unable to tell.
      }
    }

    function showConditiondialogSign(platform) {
      document.querySelector('.dialogSign #thirdpart-condition').style.display = 'flex'
      if (platform === 'google') {
        document.querySelector('.dialogSign #google-accept-btn').style.display = 'block'
        document.querySelector('.dialogSign #facebook-accept-btn').style.display = 'none'
      } else if (platform === 'facebook') {
        document.querySelector('.dialogSign #google-accept-btn').style.display = 'none'
        document.querySelector('.dialogSign #facebook-accept-btn').style.display = 'block'
      }
    }
    // fb登出
    function fbLogindialogSign() {
      // 点击FB登录按钮
      if (window.loginDialogShowFromCart) {
        gaReportEvent('click', 'CartLogin&RegisterPopup', 'Cart_FBLoginButton_click_211215')
      } else if (window.LRDShowFromHomeFootEntry) {
        gaReportEvent('click', 'HomePageRegisterPopup', 'FBLoginButton_click_220223')
      } else if (window.LRDShowFromColleFootEntry) {
        gaReportEvent('click', 'ProListPageRegisterPopup', 'FBLoginButton_click_220223')
      } else {
        gaReportEvent('click', 'Login&RegisterPopup', 'FBLoginButton_click_211208')
      }
      FB.login(function(response) {
        fbStatusChangeCallbackdialogSign(response)
      }, {
        scope: 'public_profile,email'
      });
    }
    // fb登出
    function fbLogoutdialogSign() {
      // Person is now logged out
      FB.logout(function(response) {
        console.log(response);
      });
    }
    // facebook三方登录之后同步到shopify
    function fbToShopifydialogSign(token) {
      thirdPartyLogindialogSign(token, 3)
      // var params = {
      //   token,
      //   platform: 'harfington'
      // }
      // fetch(`https://key1.allegra-k.com/api/user/facebook_shopify_token`, {
      //   method: 'POST',
      //   mode: 'cors',
      //   headers: {
      //     'Content-Type': 'application/json'
      //   },
      //   body: JSON.stringify(params)
      // }).then(resp => {
      //   return resp.json()
      // }).then(resp => {
      //   if (resp.code === 1) {
      //     if (window.localStorage.getItem(resp.data.email + '_accept-thirdpart')) {
      //   	  thirdPartMultipassdialogSign(resp, 'facebook')
      //     } else {
      //       showConditiondialogSign('facebook')
      //       window.sessionStorage.setItem('login-resp',JSON.stringify(resp))
      //     }
      //   } 
      // }).catch(err=> {
      //   console.log(err);
      // })
    }
    // accept facebook
    function acceptLogindialogSign(platform) {
      var resp = JSON.parse(window.sessionStorage.getItem('login-resp'))
      window.localStorage.setItem(resp.email + '_accept-thirdpart', 1)
      thirdPartMultipassdialogSign(resp, platform)
    }

    function googleLoginClickdialogSign(type) {
      if (type === 'first') {
        firstGoogleInitdialogSign = true
      } else {
        firstGoogleInitHistorydialogSign = true
      }
      if (window.loginDialogShowFromCart) {
        gaReportEvent('click', 'CartLogin&RegisterPopup', 'Cart_GGLoginButton_click_211215')
      } else if (window.LRDShowFromHomeFootEntry) {
        gaReportEvent('click', 'HomePageRegisterPopup', 'GGLoginButton_click_220223')
      } else if (window.LRDShowFromColleFootEntry) {
        gaReportEvent('click', 'ProListPageRegisterPopup', 'GGLoginButton_click_220223')
      } else {
        gaReportEvent('click', 'Login&RegisterPopup', 'GGLoginButton_click_211208')
      }
    }
    // //google  login
    function thirdPartMultipassdialogSign({
      shopify_token,
      thirdparty_token,
      isRegister,
      email
    }, name, result) {
      // var toke = resp.data.token
      // var email = resp.data.email
      fetch(`/account/login/multipass/${shopify_token}`, {
        method: 'GET',
        mode: 'cors',
        headers: {
          'Content-Type': 'application/json'
        }
      }).then(resp => {
        window.sessionStorage.setItem(name + '_login', JSON.stringify({
          name,
          email
        }))
        if (resp.status === 200) {
          // setMatomoEvent login
          setMatomoEvent('Lead Generation', 'signin', 'account', email);
          // 注册成功, 调用注册成功接口
          if (isRegister) {
            setMatomoEvent('Lead Generation', 'registersuccess', 'account', email);
            let type = 1
            if (name === 'google') {
              type = 2
            } else if (name === 'facebook') {
              type = 3
            }
            const params = {
              token: thirdparty_token,
              type,
              email
            }
            fetch(CENTER_API + `/api/third_register_success`, {
              method: 'POST',
              mode: 'cors',
              headers: {
                'Content-Type': 'application/json',
                'channel': isMobile ? 'm' : 'pc'
              },
              body: JSON.stringify(params)
            }).then(resp => {
              return resp.json()
            }).then(resp => {
              if (resp.code === 1) {
                if (resp.data.user && resp.data.user.wholesale && resp.data.user.wholesale == 1) {
                  let wholesale = resp.data.user && resp.data.user.wholesale
                  window.localStorage.setItem("wholesale", wholesale)
                }
                thirdPartyLoginFinal(resp.data)
              }
            }).catch(error => console.log(error))
          } else {
            setMatomoEvent('Lead Generation', 'signinsuccess', 'account', email);
            thirdPartyLoginFinal(result)
          }
        }
      }).catch(function(err) {
        console.log(err)
      })
    }
    // 处理qa弹窗问题
    function handleProductQAModal() {
      if (sessionStorage.getItem('askQuestionShow') || sessionStorage.getItem('answerQuestionShow')) {
        sessionStorage.setItem('isAfterLoginQA', 1)
      }
    }

    function thirdPartyLoginFinal(result) {
      handleProductQAModal()
      var urlPathname = window.location.pathname
      if (urlPathname == '/account/invalid_token') {
        window.location.href = 'https://www.harfington.com'
        return
      }
      let url = window.location.href.split('?')[1]
      // from login page
      if (urlPathname === '/account/login') {
        if (url.indexOf('myaccountid') > -1 || url.indexOf('order') > -1) {
          window.location.href = 'https://www.harfington.com/account'
        } else {
          window.location.href = document.referrer
        }
      } else {
        // pop dialog
        const sessResult = JSON.parse(sessionStorage.getItem('third_party_user_info') || '{}')
        window.jumpToAccount && jumpToAccount(result || sessResult)
        // let checkOut = sessionStorage.getItem('checkOut')
        // var checkOutBtn
        // if(checkOut=='cartCheckOut'){
        //   checkOutBtn = document.querySelector('#checkoutCart')   
        // }else if(checkOut=='rightCheckOut'){
        //   checkOutBtn = document.querySelector('.right-checkout')  
        // }     
        // if(checkOutBtn &&( checkOut == 'cartCheckOut'||checkOut == 'rightCheckOut')){
        //   checkOutBtn.click()
        //   window.sessionStorage.removeItem('checkOut');
        // } else {
        //   window.location.reload()
        // }
      }
    }
    var firstGoogleInitdialogSign = false

    function googleInitdialogSign(googleUser) {
      console.log(firstGoogleInitdialogSign);
      if (!firstGoogleInitdialogSign) {
        return
      }
      var token = googleUser.getAuthResponse().id_token
      googleLogindialogSign(token)
    };
    var firstGoogleInitHistorydialogSign = false

    function googleInitHistorydialogSign(googleUser) {
      if (!firstGoogleInitHistorydialogSign) {
        return
      }
      var token = googleUser.getAuthResponse().id_token
      googleLogindialogSign(token)
    };

    function googleLogindialogSign(token) {
      thirdPartyLogindialogSign(token, 2)
      // var params = {
      //   token,
      //   platform: 'harfington'
      // }; 
      // fetch(`https://key1.allegra-k.com/api/user/google_shopify_token`, {
      //   method: 'POST',
      //   mode: 'cors',
      //   headers: {
      //     'Content-Type': 'application/json'
      //   },
      //   body: JSON.stringify(params)
      // }).then(resp => {
      //   return resp.json()
      // }).then(resp => {
      //   if (resp.code === 1) {    
      //     // Google登录成功
      //     
      //       if (window.loginDialogShowFromCart) {
      //         gaReportEvent('event', 'CartLogin&RegisterPopup', 'Cart_GGLoginSuccess_event_211215')
      //       } else if (window.LRDShowFromHomeFootEntry) {
      //         gaReportEvent('event', 'HomePageRegisterPopup', 'GGLoginSuccess_event_220223')
      //       } else if (window.LRDShowFromColleFootEntry) {
      //         gaReportEvent('event', 'ProListPageRegisterPopup', 'GGLoginSuccess_event_220223')
      //       } else {
      //         gaReportEvent('event', 'Login&RegisterPopup', 'GGLoginSuccess_event_211208')
      //       }
      //     
      //     if (window.localStorage.getItem(resp.data.email + '_accept-thirdpart')) {
      //     	thirdPartMultipassdialogSign(resp, 'google')
      //     } else {
      //     	showConditiondialogSign('google')
      //       window.sessionStorage.setItem('login-resp',JSON.stringify(resp))
      //     }
      //   } 
      // }).catch(err=> {
      //   console.log(err)
      // })
    }

    function changeAccountdialogSign(name) {
      window.sessionStorage.removeItem(name + '_login')
      initdialogSign()
      closeThirdpartDialogdialogSign()
    }

    function closeThirdpartDialogdialogSign() {
      document.querySelector('.dialogSign #thirdpart-login').style.display = 'none'
    }

    function closeThirdpartConditiondialogSign() {
      window.sessionStorage.removeItem('login-resp')
      document.querySelector('.dialogSign #thirdpart-condition').style.display = 'none'
    }
    //三方登录同步中台
    function thirdPartyLogindialogSign(token, type) {
      window.localStorage.removeItem("wholesale")
      var params = {
        token,
        type,
        platform: 'harfington'
      };
      fetch(CENTER_API + `/api/third_party`, {
        method: 'POST',
        mode: 'cors',
        headers: {
          'Content-Type': 'application/json',
          'channel': isMobile ? 'm' : 'pc'
        },
        body: JSON.stringify(params)
      }).then(resp => {
        return resp.json()
      }).then(resp => {
        if (resp.code === 1) {
          const email = resp.data.email || resp.data.user.email
          const res = {
            shopify_token: resp.data.shopify_token,
            isRegister: !resp.data.token,
            thirdparty_token: token,
            email
          }
          sessionStorage.setItem('third_party_user_info', JSON.stringify(resp.data))
          if (resp.data.user && resp.data.user.wholesale && resp.data.user.wholesale == 1) {
            let wholesale = resp.data.user && resp.data.user.wholesale
            window.localStorage.setItem("wholesale", wholesale)
          }
          if (type === 2) {
            // if (window.localStorage.getItem(email + '_accept-thirdpart')) {
            //   thirdPartMultipassdialogSign(resp, 'facebook')
            // } else {
            //   showConditiondialogSign('facebook')
            //   window.sessionStorage.setItem('login-resp',JSON.stringify(resp))
            // }
            if (window.localStorage.getItem(email + '_accept-thirdpart')) {
              thirdPartMultipassdialogSign(res, 'google', resp.data)
            } else {
              showConditiondialogSign('google')
              window.sessionStorage.setItem('login-resp', JSON.stringify(res))
            }
            if (window.loginDialogShowFromCart) {
              gaReportEvent('event', 'CartLogin&RegisterPopup', 'Cart_GGLoginSuccess_event_211215')
            } else if (window.LRDShowFromHomeFootEntry) {
              gaReportEvent('event', 'HomePageRegisterPopup', 'GGLoginSuccess_event_220223')
            } else if (window.LRDShowFromColleFootEntry) {
              gaReportEvent('event', 'ProListPageRegisterPopup', 'GGLoginSuccess_event_220223')
            } else {
              gaReportEvent('event', 'Login&RegisterPopup', 'GGLoginSuccess_event_211208')
            }
          } else if (type === 3) {
            // fb 登录成功
            if (window.localStorage.getItem(email + '_accept-thirdpart')) {
              thirdPartMultipassdialogSign(res, 'facebook', resp.data)
            } else {
              showConditiondialogSign('facebook')
              window.sessionStorage.setItem('login-resp', JSON.stringify(res))
            }
          }
          // 新客零单
          window.localStorage.setItem("newCustomer0", resp.data.user && resp.data.user.orders_count === 0 ? '1' : '')
        } else {
          console.log(resp.msg)
        }
      }).catch(error => console.log(error))
    }
  </script>
</form>

POST /account/recover

<form method="post" action="/account/recover" accept-charset="UTF-8"><input type="hidden" name="form_type" value="recover_customer_password"><input type="hidden" name="utf8" value="✓">
  <div class="ps-warp">
    <input type="text" id="resverEmail" onfocus="emailFocusbtn()" onblur="inputleave('.clear-btn3')" oninput="emailFocusbtn()" style="border: 1px solid #CCCCCC;" class="input-full recoverEmail-pc" placeholder="Email">
    <!-- <input type="email" name="email" id="RecoverEmail"  oninput="emailFocus('#RecoverEmail','.clear-btn3')" style="border: 1px solid #CCCCCC;" class="input-full recoverEmail-pc" autocorrect="off" placeholder="Email" autocapitalize="off"> -->
    <div class="ps-show clear-btn3">
      <img class="lazyload" data-src="https://cdn.shopify.com/s/files/1/0595/2477/6095/files/close-icon.png" alt="Clear All" onclick="isEyeOpen('#clear-eye','#resverEmail')">
    </div>
  </div>
  <p class="p-invalid tips-forget-text">Email is required or invalid.</p>
  <button type="button" class="btn layer-forget-btn" onclick="nextForgetPassward()"> Submit </button>
  <button type="button" class="btn clear-btn" id="HideRecoverPasswordLink">Cancel</button>
</form>

POST /account

<form method="post" action="/account" id="create_customer" accept-charset="UTF-8" data-login-with-shop-sign-up="true"><input type="hidden" name="form_type" value="create_customer"><input type="hidden" name="utf8" value="✓"><!-- 优惠券 -->
  <div class="coupon-banner">
    <img class="s-img" data-src="https://cdn.shopify.com/s/files/1/0593/8623/3013/files/coupon-banner-c_{width}x.png" data-widths="[320, 375, 480, 540, 720, 900, 1080, 1296, 1512, 1728, 1944, 2048]" data-sizes="auto" data-parent-fit="cover" alt="">
    <!-- <span class="discount">US$3 OFF</span>
         <span class="c-text">For New Users !</span> -->
  </div>
  <!-- 邮箱 -->
  <div id="cartDialogApp" class="e-warp"><input type="text" autocorrect="off" autocapitalize="off" autocomplete="off" name="customeremail" placeholder="Email" clearable="" prefix-icon="el-icon-user" onblur="inputleave2('.clear-btn2','input1')"
      onfocus="emailFocus('#Email','.clear-btn2','input1')" oninput="emailFocus('#Email','.clear-btn2')" id="Email" class="input-full input-getemail layer-email" style="z-index: 20;"> <input type="text" autocorrect="off" autocapitalize="off"
      autocomplete="off" name="customeremail" placeholder="Email" clearable="" prefix-icon="el-icon-user" onblur="inputleave2('.clear-btn2','input2')" onfocus="emailFocus('#Email','.clear-btn2','input2')" id="Email2" class="input-full input-getemail"
      style="z-index: 19;">
    <div class="ps-show clear-btn2" style="z-index: 999;"><img data-src="https://cdn.shopify.com/s/files/1/0595/2477/6095/files/close-icon.png" alt="Clear All" onclick="isEyeOpen('#clear-eye','.layer-email')" class="lazyload"></div>
    <ul class="auto-tip"></ul>
  </div>
  <div class="email-invalid-reg p-invalid">Email is required or invalid.</div>
  <!-- 密码 -->
  <div class="ps-warp">
    <input type="password" fuck-chrome="" name="customer[password]" id="CreatePassword" placeholder="Password" class="input-full" autocomplete="off">
    <div class="ps-show">
      <img class="lazyload" data-src="https://cdn.shopify.com/s/files/1/0595/2477/6095/files/close-eye.png" alt="Show Password" id="ps-showCreate" onclick="hideShowPswCreate()">
    </div>
  </div>
  <div class="password-invalid-reg p-invalid">Please enter 6-32 characters as the password.</div>
  <div class="password-invalid-reg2 p-invalid">Your password cannot contain spaces.</div>
  <!-- 选择勾选 -->
  <div class="select-warp">
    <div class="s-list follow-cb" style="display: flex;">
      <input type="checkbox" name="" id="Follow-us" class="s-checkbox">
      <span class="f-text"> Follow us to receive exclusive offers and our latest news</span>
    </div>
    <div class="s-list policy-cb" style="display: none;">
      <input type="checkbox" name="" id="Policy" class="s-checkbox">
      <span class="f-text">I agree Harfington's <a onclick="setPrivacyAndTerms('privacy-policy', '.policy-layer')" href="">Terms &amp; Conditions</a> and
        <a onclick="setPrivacyAndTerms('terms-and-conditions', '.terms-layer')" href="#">Privacy Policy</a> </span>
    </div>
  </div>
  <!-- 注册按钮 -->
  <div class="wrong-tip-reg"></div>
  <button type="button" name="register" class="reg-ref btn btn--full"> JOIN HARFINGTON </button>
</form>

Text Content

YOUR LOCATION IS SET TO CANADA

 * Shop in USD $
 * Get shipping options for Canada

Continue
Change country/region

Skip to content
Cart
Close cart
Buy $10.00 more to enjoy Free Standard Shipping!
Discounts

Subtotal
$0.00
Shipping, taxes, and discount codes calculated at checkout.

Check out Check out
Apply a Coupon Code on the next step.
Your cart is currently empty.
SIGN IN / REGISTER
Close menu
Automobiles & Motorcycles
Fastening & Joining
Hardware
Electrical & Lighting
Fabricating
Pipe, Tubing, Hose & Fittings
Hand Tools
Power Transmission
Abrading & Polishing
Lab & Scientific
DIY
All Categories
Track Your Order
Shipping & Delivery
Return Policy
Wholesale Program
Payment
About Harfington
Contact Us
Terms & Conditions


© 2023 Harfington. All Rights Reserved.


Search
Site navigation
 * Home


0
"Close (esc)"

Enter the keyword, get DIY & repair parts

Recent Searches

Hot Searches
Barrel NutDoor SweepSanding DiscAAA to AA AdapterChandelier Mounting BracketFlat
Rubber WashersScrewdriver BitsStainless Steel Barrel HingesMagnetic Cabinet
CatchButton Head Hex Screw
Search
View more



ALL CATEGORIES
track my order contact us Feedback

Enter the keyword, get DIY & repair parts

Recent Searches

Hot Searches
Barrel NutDoor SweepSanding DiscAAA to AA AdapterChandelier Mounting BracketFlat
Rubber WashersScrewdriver BitsStainless Steel Barrel HingesMagnetic Cabinet
CatchButton Head Hex Screw
Search
wholesale
* Your Product Needs

* Quantity(Each)

* Email Address

Customer Name

Expected Arrival Time

Customer Note

Submit
Show more about Wholesale Program
sign in
orders
cart
0
0


AUTOMOBILES & MOTORCYCLES


FASTENING & JOINING


HARDWARE


ELECTRICAL & LIGHTING


FABRICATING


PIPE, TUBING, HOSE & FITTINGS


HAND TOOLS


POWER TRANSMISSION


ABRADING & POLISHING


LAB & SCIENTIFIC


DIY


AUTOMOBILES & MOTORCYCLES


EXTERIOR ACCESSORIES

Covers


INTERIOR ACCESSORIES

Seat Covers & Accessories


REPLACEMENT PARTS

Body & Trim


TOOLS & EQUIPMENT

Hand Tools



FASTENING & JOINING


FASTENERS

Plastic Expansion Tubes
Screws & Bolts
Fasteners Assortment Kit
Cable Ties
Helical & Threaded Inserts
Threaded Rods & Studs
Spacers & Standoffs
Washers
Nuts
Thread
Straps
Pins
Retaining Rings
Rivets
Nails
Lanyards
Key Stock
Cable Holders
Buckles


SEALING

Edge Trim Seal Strips
Frameless Shower Door Seal Strips
Gaskets
Mechanical Seals
Offset Toilet Flange
Oil Seals
O-Rings
Rubber Seal Strips
Sealants
Silicone Seal Strips


WELDING, BRAZING & SOLDERING

Welding Rods


ADHESIVES & TAPE

Adhesive Dispensing Gun Nozzles
Adhesives
Tape



HARDWARE


DOOR & CABINET HARDWARE

Brackets
Blank Metal Cards
Cabinet Hinges
Catches
Curtain Rod Finials
Displaying Accessories
Door Brushes
Door Closers
Door Holders & Stops
Door Viewers
Gas Spring
Hinges
Hooks
Magnetic Latches
Sliding Door Roller
Suction Cup Hooks
Weather stripping
Window Glass Strip Seal
Window Hardware
Window Hinges


HOUSEHOLD HARDWARE

Bathroom Hardware
Brackets
Marble Contact Paper
Storage & Accessories
Top Pad Eye Strap


FURNITURE HARDWARE

Aluminum Disc
Brackets
Cam Lock Screws
Casters
Coat Hangers
Corner Protectors
Curtain Clips
Curtain Weights
Displaying Accessories
External Retaining Rings
Furniture Asscessories
Furniture Feet
Hangers
Louvers
Mats
Mounting Hangers
Paint Brushes & Sprayers
Self Adhesive House Number
Self Adhesive Mirror Sheet Wall Stickers
Sings
Surface Guards
Tablecloth Clips
Triangle Ring Buckle
Wheels
Wood Filler Wax Stick


MACHINERY HARDWARE

Ball Transfers
Brackets
Caps & Plugs
Edge Trim
Eye Bolts
Grease Cups
Grommets
Hand Wheels
Handles
Knob
Knurling Lathe Tools
Machine Accessories
Shield Covers
Tool Steels
T-Soltted Framing and Fittings
Weight Stack Pin with Pull Ropes


LOCKS

Anti-theft Hook Locks
Bag Locks
Cabinet locks
Cam Locks and Latches
Drawer Locks
Drawer And Cabinet Deadbolt Locks
Draw Locks and Latches
Door Locks
Deadbolt Locks
Hasps
Key Holders
Key Tags
Padlocks
Public Toilet Locks
SlideBolt Locks and Latches
Tubewell Mortise Locks
Window Locks


OFFICE HARDWARE

Blank Rack Panels
Computer Accessories
Cards & Card Stock
Filter Papers
Load Cell
Number Stickers
Signs
Staining Racks
Telephone Accessories


RAW MATERIAL

Acrylic Sheets
Acylic Sphere
Acrylic Round Rods
Copper Sheet
Corrugated Paper Sheets
EPS
EVA Foam Sheets
Graphite Blank
Leather Straps
Magnetic Strips
Magnetic Stir Bar Rods
Plastic Rods
Poster Hanger
Price Tags
PVC Sheets
Round DIY Tags
Silicone Stirring Rods
Silicone Thermal Pads
Tungsten Steel Lathe Round Rods
Wool Felt


LUBRICATING

Grease Fittings


MATERIAL HANDLING

Wire Rope


FURNITURE ACCESSORIES

Furniture Connecting Fittings
Screw Cap Covers


FLOOR MARKING TAPE & PAINT

Marking Tape


FEET

Rest-On Feet


APPLIANCE ACCESSORIES

Lawnmower Accessories
Meat Grinder Accessories



ELECTRICAL & LIGHTING


WIRING & CONNECTING

Cord Grips
Electrical Connectors
Enclosures
Extension Cords & Power Cords
Heat-Shrink Tubing
Plugs & Receptacles
Wire & Cable


SWITCHING & CONTROLLING

Circuit Breakers
Electric Thermostat
Electromagnet
Fuses
Mechanical Thermostat
Switches & Relays


ELECTRONICS COMPONENTS

Capacitors
LED Display Digital Tubes


ELECTRICAL

Resistors


HEATING & COOLING

Air Conditioner Accessories
Cooling
Heating


LIGHTING

Lamp Pipes
Light Bulbs
Lighting Accessories
Signal Lights for Electrical Panels


MEASURING & INSPECTING

AC Voltmeter
AC Ammeter
DC Voltmeter
DC Ammeter
Multimeter Accessories
Sensors


AUDIO ACCESSORIES

Audio Cables
Audio Speaker Dust Caps
Audio Adapters
Binding Post Speaker Terminals
DC-PCB Mount Terminals
D-Sub VGA
Electret Condenser Microphone
Electronic Buzzers
Microphone Clips
Microphone Holders
Microphone Battery Cover
Microphone Ball Head
Magnetic Loudspeakers
Piezo Discs
POE Supply
Protective Cover
Speaker Box Terminals
Speakers
Speaker Voice Coil
Speaker Terminal Clips
Speaker Repair Spider
Speaker Port Tubes
Speaker Peg Kits
Speaker Mesh
Speaker Grill Cover
Speaker Grill Cloth
Speaker Feet
Speaker Edge Rings
Screw Adapter For Microphone
TRS 3.5mm Audio Cables
TRS 6.35mm Audio Cables
Universal Telescopic Antennas
VGA Extenders
Volume Control


POWER GENERATING

Batteries
Generator Accessories
Power Supply Accessories



FABRICATING


MACHINING

Drill Bits
End Mills & Milling Cutters
Taps
Collets
Lathe Tools
Sawing & Cutting
Reamers
Drill Chuck Keys
Drill Chuck Adapters
Lathe Chuck Keys


CLAMPING & POSITIONING

Clamps


PARTS CLEANING & TREATING

Cleaning Scrappers
Spray Nozzles



PIPE, TUBING, HOSE & FITTINGS


PIPE FITTINGS

Connectors
Pipe Plugs
Plumbing Fixtures and Drains
Copper Unthreaded Pipe Fittings
Caps
Fastener Caps
Clamps
Manifold Blocks
Pipe Insulation
Stainless Steel Unthreaded Pipe and Pipe Fittings
Plastic Pipe and Pipe Fittings for Water
Threaded Pipe Fittings
Unthreaded Pipe Fittings
Sealing Plugs
Pipe Screens


TUBING

Soft Tubing
Spiral Sleeving
Metal Tubing
Firm Tubing
Flexible Spiral Tubing


HOSE

Corrugated Conduit Hose
Rubber Hose
Fuel Hose
Water Hose
Hose for Washing Machine


TUBE FITTINGS

Corrugated Tube Joints
Clamps
Tube Fittings for Copper and Brass Tubing
Tube Expanders
PU Hoses
Tube Benders
Compression Tube Fitting


MISTING NOZZLES

Brass Misting Nozzles
Stainless Steel Nozzles
Pressure Compensating Drippers
Adjustable Spray Drippers
PP Nozzles
Spiral Cone Atomization Nozzles
Flat Nozzles


TUBE BENDERS

Conduit and Pipe Hand Benders


HOSE & TUBE CLAMPS

Hose Clamps


HOSE FITTINGS

Brass 8mm Hose Barbs
Metal Garden Hose Fittings


PIPE HANGERS

Hangers for Pipe,Tube,and Conduit


PIPE JOINTS

Water Tap



HAND TOOLS


SOCKETS

Impact Sockets
Impact Bit Sockets
Socket Sets
12-Point Sockets
Sockets
Tube Sockets
Bit Sockets
Hex Nut Sockets
Flex Adapter
Power Sockets


SCREWDRIVER BITS

Phillips Bits
Torx Bits
Tamper-Resistant Hex Bits
Ball-End Screw-Holding Hex Bits
Slotted Bits


MEASURING AND INSPECTING

Rules
Tape Measures
Ring Sizer Mandrel
Protractors
Squares


SAWS

Hole Saws


WRENCHES

Combination Wrenches
Socket Wrenches
Ratcheting Combination Wrenches
Angle Grinder Wrenches
Extension Rod Wrenches
T-Handle Keys
Hex Key Wrenches
L Shaped Wrenches


SCRAPERS

Putty Knives


HANDHELD MAGNIFIERS

Handheld Magnifiers


SCREWDRIVERS

Phillips Screwdrivers
Bit Screwdrivers
Flexible-Shaft Bit Screwdrivers
T-Handle Screwdrivers
Torx Screwdrivers


TWEEZERS

Tweezers
Electrical-Insulating Tweezers
Chip Extracting Tweezers


GARDEN TOOLS

Artificial Grass Mat
Garden Twine


STORAGE & ORGANIZATION

Containers
Battery Storage Case
Portable Storage Carrying Bags
Battery Safe Guard Bags


KNIVES

Scissors


NUTDRIVERS

Bit



POWER TRANSMISSION


ROTARY MOTION

Bearings
Shaft Couplings
Gears
Belts
Pulleys
Track Rollers
Motors
U-Joints
Bushings
Chain


PNEUMATICS

Quick-Disconnect Hose Couplings
Hose
Pneumatic Solenoid Valve
Air Cylinders
Mufflers
Speed Control Valves
Air Compressor
Suction Cups
Exhaust Valves
Hand Slide Valves
Pumps
Automatic Airflow Dampers
Caps
Pneumatic Filter Regulators
Foot Pedal Valve Air Switch


LINEAR MOTION

Linear Motion Shaft
Springs
Bearings
Shock Absorbers
Rod Ends
Acme Threaded Rods
Linear Rail Guide Support
Strip Springs


HYDRAULICS

Liquid Level
Valves



ABRADING & POLISHING


SANDING, FILING & GRINDING

Sanding Abrasives
Grinding Bits
Files
Brushes
Flap Sanding Wheels



LAB & SCIENTIFIC


LAB SUPPLIES & CONSUMABLES

Lab Stoppers
Beakers and Test Tubes
Lab Bottles & Jars
Lab Joint Clips
Lab Stand Clamp Holder
Drop Droppers
Flask Support Stand
Weigh Boats
Alcohol Dispenser Bottles
Flow Control Clamps
Lab Beaker Tongs
Tube Brushes



DIY


RC ACCESSORIES

Shaft Round Rods
Motor Accessories
DC Motors
Carbon Fiber Bars
AC Motors
Propellers
RC Wheels
Ball Head Rod Ends
Standoff Column Spacers
Servo Extension Cable
Servo Arms
Pushrod Connector
RC Boat Propeller Vanes
Servo Horn
Propeller Adapters
Electric Motor Kits
Landing Gear Wheel Stoppers
Airplane Model Accessories
Canopy Hatch Locks
Drive Shafts
RC Hinges
Clevis
RC Antenna Mount
Robot Parts & Accessories
Plastic Worm Gears
Push Rod Connectors


CRAFTS & SEWING

Gauge Copper Wire
Bells
Cord Locks
Key Chains
Pearlescent Card
Polyester Sewing Thread
Crepe Paper Rolls
Buckles
Colored Copy Papers
Mesh Cloth
Elastic Cord
Leathercraft Rivets
Metal Roller Buckles
Resin Letter Mold
Eyelets
Tulle Rolls
Decorative Craft Tape
Sewing Machines Accesorries
Linen Burlap Bags
Metal Purse Frames
Hook Buckle Adjusters
Half-Round Leather Cutter Punch Sets
Fabric Patch
Faux Sponge Painting
Flower Crafting Parts
Screw Rivets for Leather
Metallic Foil


WATCH ACCESSORIES

Watch Band Strap Loops
Watch Band Link Cotter Pins
Watch Clasp Buckles
Watch Straps Kits
Watch Screen Protectors
Watch Pin Removal Tools
Watch Bezel Ring Covers


3D PRINTER ACCESSORIES

3D Printer Nozzle
3D Printer Pen Filament Refills
Cooling Fin
3D Printer Timing Belts
Heated Bed Springs
3D Printer Cooling Parts
3D Printer Drive Gear
3D Printer Heater Block
3D Printer Throat Tube
3D Printer Tube Fitting
3D Printer Thermistor
Silicone Leveling Column


MUSICAL INSTRUMENT ACCESSORIES

Guitar Accessories


CELL PHONE ACCESSORIES

GPS Antennas
Vibrating Motors


LIGHTING

Chandelier Accessories


ELECTRIC TUMBLER

Electric Tumbler Machine
Tumbler Accessories

Automobiles & Motorcycles
Fastening & Joining
Hardware
Electrical & Lighting
Fabricating
Pipe, Tubing, Hose & Fittings
Hand Tools
Power Transmission
Abrading & Polishing
Lab & Scientific
DIY

Quality & Saving

Comprehensive quality control and affordable prices

Fast & Convenient Logistics

Fast and convenient door to door delivery

Safe payment

Pay with the world’s most popular and securepayment methods.

Professional service & Product warranty

Timely assistance for a smooth shopping experience

Quality Saving
Fast& Convenient Logistics
Safe Payment
Professional Service

Get in the know
Stay in touch & get the best offers

Enter your email
Subscribe
find us on


INFORMATION

INFORMATION
 * About Harfington
 * Privacy Policy
 * Terms & Conditions
 * All Categories
 * Blogs

CUSTOMER CARE

CUSTOMER CARE
 * Track Your Order
 * Shipping & Delivery
 * Return Policy
 * Contact Us
 * Wholesale Program
 * Website Feedback

PAYMENT

PAYMENT
 * Payment & Tax

WE ACCEPT




SITEMAP SITEMAP
 * A
 * B
 * C
 * D
 * E
 * F
 * G
 * H
 * I
 * J
 * K
 * L
 * M
 * N
 * O
 * P
 * Q
 * R
 * S
 * T
 * U
 * V
 * W
 * X
 * Y
 * Z

GET IN THE KNOWStay in touch & get the best offers

GET IN THE KNOWStay in touch & get the best offers

Enter your email
Subscribe
find us on

DOWNLOAD APP

© 2023 Harfington . All Rights Reserved.

© 2023 Harfington. All Rights Reserved.

Powered by Shopify




"Close (esc)"



Inquiry submitted successfully
We will reply within 24 hours during work time. If you haven’t received the
reply by then, please check your spam. Thank you!
OK

Reset Your Password

We will send you an email to reset your password.
Email is required or invalid.
SUBMIT
A link to reset your password has been sent to



Emails may experience a few minute delay

lf you have not received an email, please check your junk and spam folders.

lf you still don’t receive the email after requesting a password reset,wait 24
hours and try again

RETURN TO SIGN IN
Resent
Privacy Policy


Harfington Privacy Policy - What you need to know

Harfington has created this privacy statement in order to demonstrate our firm
commitment to privacy and data protection. The following discloses our
information gathering and dissemination practices.

This privacy policy has been compiled to better serve those who are concerned
with how their 'Personally Identifiable Information' (PII) is being used online.
PII, as described in US privacy law and information security, is information
that can be used on its own or with other information to identify, contact, or
locate a single person, or to identify an individual in context.

* Please read our privacy policy carefully to get a clear understanding of how
we collect, use, protect or otherwise handle your Personally Identifiable
Information in accordance with our website.

1.1 What personal information do we collect from the people that visit our blog,
website or app?

When ordering or registering on our site, as appropriate, you may be asked to
enter your name, email address, mailing address, phone number or other details
to help you with your experience.

1.2 When do we collect information?

We collect information from you when you place an order or enter information on
our site.

1.3 How do we use your information?

We may use the information we collect from you when you register, make a
purchase, sign up for our newsletter, respond to a survey or marketing
communication, surf the website, or use certain other site features in the
following ways:

We use the information we collect in various ways, including to:

 * • Provide, operate, and maintain our website
 * • Improve, personalize, and expand our website
 * • Understand and analyze how you use our website
 * • Develop new products, services, features, and functionality
 * • Communicate with you, either directly or through one of our partners,
   including for customer service, to provide you with updates and other
   information relating to the website, and for marketing and promotional
   purposes
 * • Send you emails
 * • Find and prevent fraud

Log Files

Harfington follows a standard procedure of using log files. These files log
visitors when they visit websites. All hosting companies do this and a part of
hosting services' analytics. The information collected by log files include
internet protocol (IP) addresses, browser type, Internet Service Provider (ISP),
date and time stamp, referring/exit pages, and possibly the number of clicks.
These are not linked to any information that is personally identifiable. The
purpose of the information is for analyzing trends, administering the site,
tracking users' movement on the website, and gathering demographic information.

1.4 How do we protect your information?

 We do not use vulnerability scanning and/or scanning to PCI standards.

 We only provide articles and information. We never ask for credit card numbers.

 We use regular Malware Scanning.

Your personal information is contained behind secured networks and is only
accessible by a limited number of persons who have special access rights to such
systems, and are required to keep the information confidential. In addition, all
sensitive/credit information you supply is encrypted via Secure Socket Layer
(SSL) technology.

 We implement a variety of security measures when a user places an order enters,
submits, or accesses their information to maintain the safety of your personal
information.

 All transactions are processed through a gateway provider and are not stored or
processed on our servers.

1.5 Do we use 'cookies'?

Yes. Cookies are small files that a site or its service provider transfers to
your computer's hard drive through your Web browser (if you allow) that enables
the site's or service provider's systems to recognize your browser and capture
and remember certain information. For instance, we use cookies to help us
remember and process the items in your shopping cart. They are also used to help
us understand your preferences based on previous or current site activity, which
enables us to provide you with improved services. We also use cookies to help us
compile aggregate data about site traffic and site interaction so that we can
offer better site experiences and tools in the future.

We use cookies to:

 * • Help remember and process the items in the shopping cart.
 * • Understand and save user's preferences for future visits.
 * • Keep track of advertisements.

You can choose to have your computer warn you each time a cookie is being sent,
or you can choose to turn off all cookies. You do this through your browser
settings. Since browser is a little different, look at your browser's Help Menu
to learn the correct way to modify your cookies.

If users disable cookies in their browser:

If you turn cookies off, some features will be disabled. Some of the features
that make your site experience more efficient and may not function properly.

However, you will still be able to place orders.

1.6 Third-party disclosure

We do not sell, trade, or otherwise transfer to outside parties your Personally
Identifiable Information.

1.7 How does our site handle Do Not Track signals?

We honor Do Not Track signals and Do Not Track, plant cookies, or use
advertising when a Do Not Track (DNT) browser mechanism is in place.

1.8 Does our site allow third-party behavioral tracking?

It's also important to note that we allow third-party behavioral tracking.

 

Google 

Google DoubleClick DART Cookie

Google is one of a third-party vendor on our site. It also uses cookies, known
as DART cookies, to serve ads to our site visitors based upon their visit to
www.website.com and other sites on the internet. However, visitors may choose to
decline the use of DART cookies by visiting the Google ad and content network
Privacy Policy at the following URL
– https://policies.google.com/technologies/ads

Google's advertising requirements can be summed up by Google's Advertising
Principles. They are put in place to provide a positive experience for
users.https://support.google.com/adwordspolicy/answer/1316548?hl=en

We have not enabled Google AdSense on our site but we may do so in the future.

California Consumer Privacy Act (CCPA) 

If you are a resident of California, this section provides additional details
about your rights granted by the CCPA.

In the last 12 months, we collected the following categories of personal
information: identifiers (such as name, contact information and device
identifiers); commercial information (such as items purchased); internet or
other network activity information (such as browsing behavior and other usage
data); location data; inferences (such as purchasing preferences); demographic
data (such as gender); electronic, visual or similar information (such as
customer support call information); and other personal information (such as
product feedback or payment method information). For more details about the
personal information we collect, please see clauses 1.1 and 1.2 above. We
collect this information for the business and commercial purposes described in
clause 1.3 above. We share this information with third parties described in
clause 1.9 above. 

Subject to certain limitations, the CCPA provides you with the right to request:

- access to details on the categories or specific pieces of personal information
we collect;

- deletion any of your personal information;

- opt out of any “sale” of your personal information that may occur;

- not be discriminated against for exercising any of the above rights.

If you would like to submit a request to exercise your California privacy rights
under the CCPA, you may do so by emailing us at info@harfington.com. We will
verify your request using information associated with your account, including
your email address. Further identification may be required.

California Online Privacy Protection Act

CalOPPA is the first state law in the nation to require commercial websites and
online services to post a privacy policy. The law's reach stretches well beyond
California to require any person or company in the United States (and
conceivably the world) that operates websites collecting Personally Identifiable
Information from California consumers to post a conspicuous privacy policy on
its website stating exactly the information being collected and those
individuals or companies with whom it is being shared. - See more at:
http://consumercal.org/california-online-privacy-protection-act-caloppa/#sthash.0FdRbT51.dpuf

According to CalOPPA, we agree to the following:

1.Users can visit our site anonymously.

2.Once this privacy policy is created, we will add a link to it on our home page
or as a minimum, on the first significant page after entering our website.

3.Our Privacy Policy link includes the word 'Privacy' and can be easily be found
on the page specified above.

You will be notified of any Privacy Policy changes:

• On our Privacy Policy Page

Can change your personal information:

• By emailing us

COPPA (Children Online Privacy Protection Act)

When it comes to the collection of personal information from children under the
age of 13 years old, the Children's Online Privacy Protection Act (COPPA) puts
parents in control. The Federal Trade Commission, United States' consumer
protection agency, enforces the COPPA Rule, which spells out what operators of
websites and online services must do to protect children's privacy and safety
online.

We do not specifically market to children under the age of 13 years old. 

Nevada Privacy Rights 

This section applies only to Nevada residents. Although we do not "sell"
"covered information" of Nevada "consumers" as those terms are defined by
Chapter 603A of the Nevada Revised Statutes, if you are a Nevada consumer,
please go to our Privacy Center and inform us that you would like us to provide
you notice in the event we should do so in the future, at which point you will
have an opportunity to be verified and exercise your opt-out rights under that
law. You may contact us as described below. It is your responsibility to keep
your notice contact information current.

Social Media

We operate accounts and fan pages on different social media platforms (the
"Social Media" ).

If you visit one of our Social Media Accounts you initiate a variety of data
processing operations. Below we identify the other types of entities with whom
you may interact when you visit one of our Social Media Accounts. If you do not
provide us with your personal data, certain functionalities of the social
networking platforms requiring such data will not be available to you or only to
a limited extent.

As the owner of a Social Media Account, we can usually only see information
stored in your public profile on such social media platform, and only insofar as
you are logged in to your profile while visiting our Social Media Account. In
addition, we may process data that you provide to us when you contact us through
one of our Social Media Accounts (for example: if you create a post, or send us
a private message via Facebook). If you visit one of our Social Media Accounts,
the operator of the respective social network also processes your data,
regardless of whether you yourself have a profile in the respective social
network. The individual data processing operations and their scope differ
depending on the operator.

In addition, the respective operator of the social network provides us with
anonymous usage statistics, which we use to improve the user experience. We do
not have access to the usage data that the operator of the social network
collects to create these statistics. These data processing operations serve our
legitimate interest in improving the user experience when visiting our profile
in line with the target group.

For details about the collection and storage of your data as well as the type,
scope and purpose of their use by the operator of the social network, please
refer to the privacy policy of the respective operator:

 * • The privacy policy for the social network Facebook can be viewed at
   https://www.facebook.com/about/privacy .
 * • The privacy policy for the social network Instagram can be accessed at
   https://help.instagram.com/519522125107875 .
 * • The privacy policy for the social network Twitter can be found at
   https://twitter.com/en/privacy .
 * • The privacy policy for the social network YouTube can be viewed at
   https://www.gstatic.com/policies/privacy/pdf/20190122/f3294e95/google_privacy_policy_en_eu.pdf
   .
 * • The privacy policy for the social network Pinterest can be viewed at
   https://policy.pinterest.com/en/privacy-policy .
 * • The privacy policy for the social network Snapchat may be accessed at
   https://www.snap.com/en-GB/privacy/privacy-policy .
 * • The privacy policy for the social network TikTok may be accessed at
   https://www.tiktok.com/legal/privacy-policy?lang=en&appLaunch=app#privacy-eea
   .

You can withdraw your consent at any time with future effect and free of charge.

Fair Information Practices

The Fair Information Practices Principles form the backbone of privacy law in
the United States and the concepts they include have played a significant role
in the development of data protection laws around the globe. Understanding the
Fair Information Practice Principles and how they should be implemented is
critical to comply with the various privacy laws that protect personal
information.

In order to be in line with Fair Information Practices we will take the
following responsive action, should a data breach occur:

We will notify the users via in-site notification

• Within 7 business days

We also agree to the Individual Redress Principle which requires that
individuals have the right to legally pursue enforceable rights against data
collectors and processors who fail to adhere to the law. This principle requires
not only that individuals have enforceable rights against data users, but also
that individuals have recourse to courts or government agencies to investigate
and/or prosecute non-compliance by data processors.

CAN SPAM Act

The CAN-SPAM Act is a law that sets the rules for commercial email, establishes
requirements for commercial messages, gives recipients the right to have emails
stopped from being sent to them, and spells out tough penalties for violations.

We collect your email address in order to:

 * • Send information, respond to inquiries, and/or other requests or questions.
 * • Process orders and to send information and updates pertaining to orders.
 * • Send you additional information related to your product and/or service.
 * • Market to our mailing list or continue to send emails to our clients after
   the original transaction has occurred.

 

To be in accordance with CANSPAM, we agree to the following:

 * • Not use false or misleading subjects or email addresses.
 * • Identify the message as an advertisement in some reasonable way.
 * • Include the physical address of our business or site headquarters.
 * • Monitor third-party email marketing services for compliance, if one is
   used.
 * • Honor opt-out/unsubscribe requests quickly.
 * • Allow users to unsubscribe by using the link at the bottom of each email.

If at any time you would like to unsubscribe from receiving future emails, you
can email us at info@harfington.com and we will promptly remove you from ALL
correspondence. 

The EU General Data Protection Regulation 2016/679 (the "GDPR")

Harfington complies with the GDPR. Any information gathered receives double
opt-in consent and can be fully removed from Harfington's database upon request.

Changes to Privacy Policy

From time to time, Harfington may change its privacy practices due to changes in
relevant and applicable legal or regulatory requirements, the business or
business practices of Harfington, as part of its ongoing efforts to better serve
your needs, or for any other reason which Harfington in its sole discretion may
deem necessary. We encourage you to review this Policy whenever you visit our
Site or use our Service to view the current Privacy Policy.

Contacting Us

If there are any questions regarding this privacy policy, you may contact us
using the information below.

www.Harfington.com

Email: info@harfington.com

TERMS AND CONDITIONS


OVERVIEW

Welcome to Harfington.com.This website is operated by Harfington.com team.
Throughout the website, the terms “we”, “us” and “our” refer to
Harfington.com team. Harfington.com offers this website/application, including
all information, tools and services available from this site to you, the user,
conditioned upon your acceptance of all terms, conditions, policies and notices
stated here.

By visiting our site and/ or purchasing something from us, you engage in our
“Service” and agree to be bound by the following terms and conditions (“TERMS
AND CONDITIONS”, “Terms”), including those additional terms, conditions and
policies referenced herein and/or available by hyperlink. These TERMS AND
CONDITIONS apply to all users of the site, including without limitation users
who are browsers, vendors, customers, merchants, and/ or contributors of
content.

Please read these TERMS AND CONDITIONS carefully before accessing or using our
website/application. By accessing or using any part of the site, you agree to be
bound by these TERMS AND CONDITIONS. If you do not agree to all the terms and
conditions of this agreement, then you may not access the website/application or
use any services. If these TERMS AND CONDITIONS are considered an offer,
acceptance is expressly limited to these TERMS AND CONDITIONS.

Any new features or tools which are added to the current store shall also be
subject to the TERMS AND CONDITIONS. You can review the most current version of
the TERMS AND CONDITIONS at any time on this page. We reserve the right to
update, change or replace any part of these TERMS AND CONDITIONS by posting
updates and/or changes to our website/application. It is your responsibility to
check this page periodically for changes. Your continued use of or access to the
website/application following the posting of any changes constitutes acceptance
of those changes.

SECTION 1 - ONLINE STORE TERMS
By agreeing to these TERMS AND CONDITIONS,you may not use our products for any
illegal or unauthorized purpose nor may you, in the use of the Service, violate
any laws in your jurisdiction (including but not limited to copyright laws).
You must not transmit any worms or viruses or any code of a destructive nature.
A breach or violation of any of the Terms will result in an immediate
termination of your Services.

SECTION 2 - GENERAL CONDITIONS
We reserve the right to refuse service to anyone for any reason at any time.
You understand that your content (not including credit card information), may be
transferred unencrypted and involve (a) transmissions over various networks; and
(b) changes to conform and adapt to technical requirements of connecting
networks or devices. Credit card information is always encrypted during transfer
over networks.
You agree not to reproduce, duplicate, copy, sell, resell or exploit any portion
of the Service, use of the Service, or access to the Service or any contact on
the website/application through which the service is provided, without express
written permission by us.
The headings used in this agreement are included for convenience only and will
not limit or otherwise affect these Terms.

SECTION 3 - ACCURACY, COMPLETENESS AND TIMELINESS OF INFORMATION
We are not responsible if information made available on this site is not
accurate, complete or current. The material on this site is provided for general
information only and should not be relied upon or used as the sole basis for
making decisions without consulting primary, more accurate, more complete or
more timely sources of information. Any reliance on the material on this site is
at your own risk.
This site may contain certain historical information. Historical information,
necessarily, is not current and is provided for your reference only. We reserve
the right to modify the contents of this site at any time, but we have no
obligation to update any information on our site. You agree that it is your
responsibility to monitor changes to our site.

SECTION 4 - MODIFICATIONS TO THE SERVICE AND PRICES
Prices for our products are subject to change without notice.
We reserve the right at any time to modify or discontinue the Service (or any
part or content thereof) without notice at any time.
We shall not be liable to you or to any third-party for any modification, price
change, suspension or discontinuance of the Service.

SECTION 5 - PRODUCTS OR SERVICES (if applicable)
Certain products or services may be available exclusively online through the
website/application. These products or services may have limited quantities and
are subject to return or exchange only according to our Return Policy.
We have made every effort to display as accurately as possible the colors and
images of our products that appear at the store. We cannot guarantee that your
computer monitor's display of any color will be accurate.
We reserve the right, but are not obligated, to limit the sales of our products
or Services to any person, geographic region or jurisdiction. We may exercise
this right on a case-by-case basis. We reserve the right to limit the quantities
of any products or services that we offer. All descriptions of products or
product pricing are subject to change at anytime without notice, at the sole
discretion of us. We reserve the right to discontinue any product at any time.
Any offer for any product or service made on this site is void where prohibited.
We do not warrant that the quality of any products, services, information, or
other material purchased or obtained by you will meet your expectations, or that
any errors in the Service will be corrected.

SECTION 6 - ACCURACY OF BILLING AND ACCOUNT INFORMATION
We reserve the right to refuse any order you place with us. We may, in our sole
discretion, limit or cancel quantities purchased per person, per household or
per order. These restrictions may include orders placed by or under the same
customer account, the same credit card, and/or orders that use the same billing
and/or shipping address. In the event that we make a change to or cancel an
order, we may attempt to notify you by contacting the e-mail and/or billing
address/phone number provided at the time the order was made. We reserve the
right to limit or prohibit orders that, in our sole judgment, appear to be
placed by dealers, resellers or distributors.

You agree to provide current, complete and accurate purchase and account
information for all purchases made at our store. You agree to promptly update
your account and other information, including your email address and credit card
numbers and expiration dates, so that we can complete your transactions and
contact you as needed.

For more details, please review our Return Policy.

SECTION 7 - OPTIONAL TOOLS
We may provide you with access to third-party tools over which we neither
monitor nor have any control nor input.
You acknowledge and agree that we provide access to such tools ”as is” and “as
available” without any warranties, representations or conditions of any kind and
without any endorsement. We shall have no liability whatsoever arising from or
relating to your use of optional third-party tools.
Any use by you of optional tools offered through the site is entirely at your
own risk and discretion and you should ensure that you are familiar with and
approve of the terms on which tools are provided by the relevant third-party
provider(s).
We may also, in the future, offer new services and/or features through the
website/application (including, the release of new tools and resources). Such
new features and/or services shall also be subject to these TERMS AND
CONDITIONS.

SECTION 8 - THIRD-PARTY LINKS
Certain content, products and services available via our Service may include
materials from third-parties.
Third-party links on this site may direct you to third-party websites that are
not affiliated with us. We are not responsible for examining or evaluating the
content or accuracy and we do not warrant and will not have any liability or
responsibility for any third-party materials or websites, or for any other
materials, products, or services of third-parties.
We are not liable for any harm or damages related to the purchase or use of
goods, services, resources, content, or any other transactions made in
connection with any third-party websites. Please review carefully the
third-party's policies and practices and make sure you understand them before
you engage in any transaction. Complaints, claims, concerns, or questions
regarding third-party products should be directed to the third-party.

SECTION 9 - USER COMMENTS, FEEDBACK AND OTHER SUBMISSIONS
If, at our request, you send certain specific submissions (for example contest
entries) or without a request from us you send creative ideas, suggestions,
proposals, plans, or other materials, whether online, by email, by postal mail,
or otherwise (collectively, 'comments'), you agree that we may, at any time,
without restriction, edit, copy, publish, distribute, translate and otherwise
use in any medium any comments that you forward to us. We are and shall be under
no obligation (1) to maintain any comments in confidence; (2) to pay
compensation for any comments; or (3) to respond to any comments.
We may, but have no obligation to, monitor, edit or remove content that we
determine in our sole discretion are unlawful, offensive, threatening, libelous,
defamatory, pornographic, obscene or otherwise objectionable or violates any
party’s intellectual property or these TERMS AND CONDITIONS.
You agree that your comments will not violate any right of any third-party,
including copyright, trademark, privacy, personality or other personal or
proprietary right. You further agree that your comments will not contain
libelous or otherwise unlawful, abusive or obscene material, or contain any
computer virus or other malware that could in any way affect the operation of
the Service or any related website/application. You may not use a false e-mail
address, pretend to be someone other than yourself, or otherwise mislead us or
third-parties as to the origin of any comments. You are solely responsible for
any comments you make and their accuracy. We take no responsibility and assume
no liability for any comments posted by you or any third-party.

SECTION 10 - PERSONAL INFORMATION
Your submission of personal information through the store is governed by our
Privacy Policy.

SECTION 11 - ERRORS, INACCURACIES AND OMISSIONS
Occasionally there may be information on our site or in the Service that
contains typographical errors, inaccuracies or omissions that may relate to
product descriptions, pricing, promotions, offers, product shipping charges,
transit times and availability. We reserve the right to correct any errors,
inaccuracies or omissions, and to change or update information or cancel orders
if any information in the Service or on any related website/application is
inaccurate at any time without prior notice (including after you have submitted
your order).
We undertake no obligation to update, amend or clarify information in the
Service or on any related website/application, including without limitation,
pricing information, except as required by law. No specified update or refresh
date applied in the Service or on any related website/application, should be
taken to indicate that all information in the Service or on any related
website/application has been modified or updated.

SECTION 12 - PROHIBITED USES
In addition to other prohibitions as set forth in the TERMS AND CONDITIONS, you
are prohibited from using the site or its content: (a) for any unlawful purpose;
(b) to solicit others to perform or participate in any unlawful acts; (c) to
violate any international or UK’s regulations, rules, laws, or local ordinances;
(d) to infringe upon or violate our intellectual property rights or the
intellectual property rights of others; (e) to harass, abuse, insult, harm,
defame, slander, disparage, intimidate, or discriminate based on gender, sexual
orientation, religion, ethnicity, race, age, national origin, or disability; (f)
to submit false or misleading information; (g) to upload or transmit viruses or
any other type of malicious code that will or may be used in any way that will
affect the functionality or operation of the Service or of any related
website/application, other websites, or the Internet; (h) to collect or track
the personal information of others; (i) to spam, phish, pharm, pretext, spider,
crawl, or scrape; (j) for any obscene or immoral purpose; or (k) to interfere
with or circumvent the security features of the Service or any related
website/application, other websites, or the Internet. We reserve the right to
terminate your use of the Service or any related website/application for
violating any of the prohibited uses.

SECTION 13 - DISCLAIMER OF WARRANTIES; LIMITATION OF LIABILITY
We do not guarantee, represent or warrant that your use of our service will be
uninterrupted, timely, secure or error-free.
We do not warrant that the results that may be obtained from the use of the
service will be accurate or reliable.
You agree that from time to time we may remove the service for indefinite
periods of time or cancel the service at any time, without notice to you.
You expressly agree that your use of, or inability to use, the service is at
your sole risk. The service and all products and services delivered to you
through the service are (except as expressly stated by us) provided 'as is' and
'as available' for your use, without any representation, warranties or
conditions of any kind, either express or implied, including all implied
warranties or conditions of merchantability, merchantable quality, fitness for a
particular purpose, durability, title, and non-infringement.
In no case shall we, our directors, officers, employees, affiliates, agents,
contractors, interns, suppliers, service providers or licensors be liable for
any injury, loss, claim, or any direct, indirect, incidental, punitive, special,
or consequential damages of any kind, including, without limitation lost
profits, lost revenue, lost savings, loss of data, replacement costs, or any
similar damages, whether based in contract, tort (including negligence), strict
liability or otherwise, arising from your use of any of the service or any
products procured using the service, or for any other claim related in any way
to your use of the service or any product, including, but not limited to, any
errors or omissions in any content, or any loss or damage of any kind incurred
as a result of the use of the service or any content (or product) posted,
transmitted, or otherwise made available via the service, even if advised of
their possibility. Because some states or jurisdictions do not allow the
exclusion or the limitation of liability for consequential or incidental
damages, in such states or jurisdictions, our liability shall be limited to the
maximum extent permitted by law.

SECTION 14 - INDEMNIFICATION
You agree to indemnify, defend and hold harmless us and our parent,
subsidiaries, affiliates, partners, officers, directors, agents, contractors,
licensors, service providers, subcontractors, suppliers, interns and employees,
harmless from any claim or demand, including reasonable attorneys’ fees, made by
any third-party due to or arising out of your breach of these TERMS AND
CONDITIONS or the documents they incorporate by reference, or your violation of
any law or the rights of a third-party.

SECTION 15 - SEVERABILITY
In the event that any provision of these TERMS AND CONDITIONS is determined to
be unlawful, void or unenforceable, such provision shall nonetheless be
enforceable to the fullest extent permitted by applicable law, and the
unenforceable portion shall be deemed to be severed from these TERMS AND
CONDITIONS, such determination shall not affect the validity and enforceability
of any other remaining provisions.

SECTION 16 - TERMINATION
The obligations and liabilities of the parties incurred prior to the termination
date shall survive the termination of this agreement for all purposes.
These TERMS AND CONDITIONS are effective unless and until terminated by either
you or us. You may terminate these TERMS AND CONDITIONS at any time by notifying
us that you no longer wish to use our Services, or when you cease using our
site.
If in our sole judgment you fail, or we suspect that you have failed, to comply
with any term or provision of these TERMS AND CONDITIONS, we also may terminate
this agreement at any time without notice and you will remain liable for all
amounts due up to and including the date of termination; and/or accordingly may
deny you access to our Services (or any part thereof).

SECTION 17 - ENTIRE AGREEMENT
The failure of us to exercise or enforce any right or provision of these TERMS
AND CONDITIONS shall not constitute a waiver of such right or provision.
These TERMS AND CONDITIONS and any policies or operating rules posted by us on
this site or in respect to The Service constitutes the entire agreement and
understanding between you and us and govern your use of the Service, superseding
any prior or contemporaneous agreements, communications and proposals, whether
oral or written, between you and us (including, but not limited to, any prior
versions of the TERMS AND CONDITIONS).
Any ambiguities in the interpretation of these TERMS AND CONDITIONS shall not be
construed against the drafting party.

SECTION 18 - GOVERNING LAW
These TERMS AND CONDITIONS and any separate agreements whereby we provide you
Services shall be governed by and construed in accordance with the laws of
Ireland.

SECTION 19 - CHANGES TO TERMS AND CONDITIONS
You can review the most current version of the TERMS AND CONDITIONS at any time
at this page.
We reserve the right, at our sole discretion, to update, change or replace any
part of these TERMS AND CONDITIONS by posting updates and changes to our
website/application. It is your responsibility to check our website/application
periodically for changes. Your continued use of or access to our
website/application or the Service following the posting of any changes to these
TERMS AND CONDITIONS constitutes acceptance of those changes.


SECTION 20 - CONTACT INFORMATION
Feel free to contact us at info@harfington.com for any query.

 

Sign In
Create An Account
We’ve sent you an email with a link to update your password.
We’ve sent you an email with a link to update your password.
Email is required or invalid.

Please enter 6-32 characters as the password.
Your password cannot contain spaces.
Forgot_password? Forgot_password?

Sign In
Quick Access With


登录Signed in


登录Signed in


Not you?

Sign into a different account Sign into a different account or Create a new one
Create a new one

Update Of Terms & Conditions And Policy & Cookie Policy
In order to provide better service, please read and accept :

Privacy & Cookie Policy

Terms & Conditions

ACCEPT ACCEPT REJECT

Reset your password

We will send you an email to reset your password.

Email is required or invalid.

Submit Cancel
Email is required or invalid.

Please enter 6-32 characters as the password.
Your password cannot contain spaces.
Follow us to receive exclusive offers and our latest news
I agree Harfington's Terms & Conditions and Privacy Policy

JOIN HARFINGTON
Quick Access With


登录Signed in


登录Signed in


Not you?

Sign into a different account Sign into a different account or Create a new one
Create a new one

Update Of Terms & Conditions And Policy & Cookie Policy
In order to provide better service, please read and accept :

Privacy & Cookie Policy

Terms & Conditions

ACCEPT ACCEPT REJECT
By registering, you agree to our Privacy & Cookie Policy and Terms & Conditions
Please select 'I agree' to continue.
Hello, Sign in / Register

Automobiles & Motorcycles

Fastening & Joining

Hardware

Electrical & Lighting

Fabricating

Pipe, Tubing, Hose & Fittings

Hand Tools

Power Transmission

Abrading & Polishing

Lab & Scientific

DIY

Add to Cart Successfully

Continue Shopping View Cart & Checkout
Customers who view this item also view