Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight
Rain Linear Glass Chandelier 54" Vjlight

Rain Linear Glass Chandelier 54"

$2,546.00
$0.00
-$-2,546.00
Certification: UL / CE / SAA
3-Years Warranty
Free Shipping For All Orders
Complimentary light bulbs (Dimmable bulbs)
Finish-Vintage Brass
Please select a finish
Quantity
 Vjlight


Details

  • The ceiling canopy is made of solid brass.
  • Blown glass may show the artisan's touch in the form of small bubbles or slight asymmetry. These are typical of unique works of art.
  • Rated at 13 x 25W (max). e12 candelabra bulbs.
  • Complimentary E12 matching bulbs.
  • Certification: UL/CE/SAA.
  • 110V meets US standards, Certified to Damp UL electrical standard.
  • Delivery time: 8-12 Nature days.
  • Warranty: 3 years.

Note

  • Avoid placing in direct sunlight. Bent solid glass objects can amplify the sun's rays and create a fire risk.
  • Installation with hard wire.
  • Assembly and installation by a professional electrician is required.VJ delivery service does not include assembly or installation.
  • Cannot be installed on vaulted ceilings.
  • Can be installed in the sloping ceiling, the wire will have a certain angle with the top plate.
  • The distance between the top plate and the lamp can be adjusted during installation.
  • Wipe with a soft, dry cloth; avoid all cleaners and abrasives as they can damage finishes.

Product Details:

  • Overall: 54"W x 20"D
  • Minimum Height: 14¼"
  • Maximum Height: 81" (standard), 373¼" (long)
  • Canopy: 54"W x 20"D x 1¾"H
  • Glass Drop (each): 5" diam., 11"H; 5 lbs.
  • Weight: 168 lbs. (standard), 193 lbs. (long)
  • Finish:Vintage Brass\Satin Nickel\Bronze

Customized Design is Acceptable. The dimension, quantity of lights, finish and shape of the canopy can all be changed. Chat with us first if necessary before you place an order.

If you have any questions, please contact us

Shipping and Returns

Shipping:

  • Free shipping worldwide, for the US and Canada we use DHL, UPS or Fedex Express. Delivery time is 7-12 days.
  • For lamps with a product size over 45 inches and a weight over 70kg, we use Mason Shipping and we will notify the customer as soon as possible after placing the order.
  • We can also provide expedited shipping if needed. Please see "Shipping Policy" for more information.

Return:

  • We support unconditional returns within 30 days after receiving the product. For more information, see Returns and Refunds.
  • Warranty: (Free warranty for 2 years)
  • Includes all light sources. We support free replacement of most parts.

If you have any further questions, please contact us.

Step 1:

All of our products come with free shipping, and each lighting fixture includes a complimentary light bulb. The listed price for website products includes shipping and all applicable taxes, so customers don't need to pay any additional fees.

Step 2:

Before placing an order, customers can refer to the website specifications. If any changes are needed in terms of color, material, wire length, lighting fixture type, or light bulb color temperature, please contact our customer service team. We offer free customization services; for more details, please visit the customization page.

Step 3:

Upon receiving an order, we will send an order confirmation email. Customers have a 24-hour window to cancel their order.

Step 4:

All lighting fixtures undergo a thorough inspection and are photographed prior to shipment. 

Step 5:

We will arrange the transportation method based on the size of the lighting fixture. Air transportation takes 5 to 8 days.If necessary, we can provide actual photos of the lighting fixtures and packaging.

Step 6:

Upon receiving your order, please promptly inspect the lighting fixtures. If any damage is observed, take photos or videos and contact our customer service team immediately. We will assist you with free returns or exchanges.

Step 7:

Within two years of installation, we offer complimentary replacement light bulbs for the lighting fixtures. If any small components are damaged, we also provide free replacement parts, such as crystal connectors, etc.

Customer Reviews
Here are what our customers say.
Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.

Why Choose Us

 Vjlight

30-day return: We pay for the return shipping

Free customization: Customize the lamps quickly within seven days

Factory price: We have our own factory, not a dealer

Project support: We have completed dozens of large projects with customers

/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1725270891949').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);