
Top Ovios Furniture Deals & Price Drops for April 2026
Explore verified Ovios Furniture discounts and price drops updated in the last 30 days.
OVIOS Office Executive Chair Oversize Cushions Sue...
@media only screen and (max-width: 600px) { .image-container { display: none; } .mobile-image-container { margin: 0; padding: 0; list-style-type: none; margin-left: 0 !important; padding: 0 !important; } .mobile-image-container li { width: 100%; margin-bottom: 20px; } .mobile-image-container img { width: 100%; height: auto; margin: 0px; } } @media only screen and (min-width: 601px) { .mobile-image-container { display: none; } } #collapse .content ul { list-style-type: none; } #collapse .item:first-of-type b, #collapse .item:first-of-type strong { letter-spacing: normal; } PRODUCT OVERVIEW FEATURES [ Luxurious Comfort with Suede Fabric ] This office chair is upholstered in high-quality suede fabric, offering the elegant appearance of leather with a soft, breathable feel. The oversize cushions on both the seat and backrest provide exceptional comfort, making it ideal for long hours of use. [ Fully Adjustable for Personalized Comfort ] Easily adjust the chair's height and tilt to fit your needs. The multi-angle reclining backrest can be locked in your desired position, giving you the flexibility to switch between focused work and relaxation with ease. [ Durable Construction with Sturdy Iron Base ] Built to last, this chair features a strong iron base that ensures stability and can support up to 350 lbs. Its ergonomic design, combined with the robust frame, delivers reliable comfort and long-term durability. [ Stylish and Functional for Any Space ] The sleek design and premium suede fabric make this chair a perfect addition to any office or home workspace. Combining functionality with sophisticated aesthetics, it seamlessly enhances the look of any professional setting. HIGHLIGHTS SHIPPING & RETURN Shipping time & delivery time We usually ship items within 24 - 48 hours after confirmed payment. (in business days) In general, we ship via Fedex, average transit time is about 7 - 10 business days. In rare cases due to unforeseen events, (e.g. extreme weather, unusual spikes, etc.), these shipment processing times may be delayed. Free shipping policy All of our items are FREE SHIPPING in normal cases (within the contiguous United States). You can get the items with no shipping cost. There is no other hidden charges or handling fees. In a few special cases, you need to pay necessary cost of shipment, for example, return, exchange or some area. We ship only within the 48 contiguous United States. We do not ship to Alaska, Hawaii, US protectorates (e.g., Puerto Rico), P.O. boxes, or APO/FPO addresses. About tracking logistics information We’ll send you the delivery time by email. For any further information, please feel free to contact us: [email protected] If you want to change or cancel your order, please check whether the order has already been processed. Once the item leaves our warehouse, it can not be canceled or changed. Keep in mind: 1. Tracking is not available for orders that are in a Processing status 2. Tracking can take up to 72 hours to update after an order is shipped About damaged packages and defective items upon arrival When you receive your item, please check your package and item carefully. If there is something wrong, the following steps are advised: 1. Take pictures reflecting the damage or defect clearly. 2. Then please email us at [email protected] immediately and attach the photos. 3. We will contact you and try our best to find the best solution. 4. Attention please, do not throw away the boxes or packaging materials, otherwise, your request of return or exchange will not be accepted. Additional Information We process orders Monday-Friday (excluding holidays). If you place your order after the cutoff times, we’ll process and ship the order the next business day. We do not deliver on Sundays or holidays. About tracking information stagnation With the surge in demand from shipping companies in the US due to high demand, we are seeing an increase in tracking and scanning issues where shipping companies are picking up shipments from warehouses but the tracking tags are not being scanned correctly when the shipping companies pick them up. Our carriers are working to eliminate tracking issues and delivery delays. SERVICE & WARRANTY Dear customers we guarantee that all items we sell have undergone strict quality control inspections to ensure you have an excellent product experience. At the same time, our warranty policy can make you rest assured to buy furniture products from us. All items sold by OVIOS are covered by the following comprehensive product warranties. 1.Customer Service Our customer service team will respond within 24 hours. We product comes with a one-year warranty. You can contact our exclusive OVIOS customer service team for assistance before and after your purchase. 2.Accepted Return 30 Day Unconditional Refund Guarantee for Unopened & Unused. If you are not satisfied with your purchase, or for whatever reason, You no longer want this product within 30 days after receiving it, you may contact us for a return and refund. Kindly note that in such cases the return shipping fee is the customer's responsibility and is non-refundable. Items MUST be returned in their original packaging, unused and unopened in order to qualify for a product refund. The customers should pay for actual cost of return shipping because of their remorse. But don't need to pay for defective producets return. And there is no restocking fee. These fees need to be settled in U.S. dollars. Note that the returns shipping fee is non-refundable and products must be returned unopened and unused for a refund. If the boxes has been opened, the buyer needs to send a picture and confirm with the seller. Only when the confirmation does not affect the normal use can the return be supported, and the buyer needs to afford a certain amount of goods loss charge. Please ensure to return the item with its original packaging and accessories in the same condition as when you received it. 3.Not support the return (1) Return is not accepted when damage is caused by unauthorized maintenance, misusing, collision, negligence, abuse, etc. Returns will not be accepted for OPEN BOX products. (2) Arrived damage If the item you have received is defective or damaged, contact our customer service at the first time and provide us with the order number and the photos or a video of the defective or damaged item in 7 days. In this case, after our checking, we can give a full refund. (3) Missing part If your product parts damaged or missing, we can send the new parts to you or partially refund you. If the part affects product function or use, you can't repair it by yourself or the local technique person, and we will send a new item with you or a full refund. (4) Doesn't work or defective When you received the product that doesn't work, you can ask our customer service for help, we'll give you the related technical reply; if it doesn't work still, you can ask for an refund. When you received the product is defective, and you can ask our customer service to give you technical support or solution, if you can repair it by yourself or local store, we will provide you with some compensation. (5) Incorrect Package Sent If the item you have received differs completely from the one you ordered, please do not hesitate to contact our customer service and to provide us with the following proofs in 7 days: Photos or a video of the incorrect item. We will send the new item to you. 4.Return Confirmation (1) Contact us [email protected] to get a return shipping label. submit order , a clear picture or video, and shipping packaging to confirm your return is accepted. (2) When returning your package, please make sure the item is in good condition with all accessories inside. Affix the return shipping label that we provided to the package, ship it to the address our customer service sent you. 5.Refund and Compensation Process (1) PayPal refunds may take up to 24 hours to process and appear in your account. (2) Credit card refunds will take between 7-14 business days to appear in your account. This delay depends entirely on your credit card company and any intermediaries. Note: The price of the products on our website will fluctuate with the cost, and we will not refund any difference caused by this. @font-face { font-family: 'arial'; src: url('//purpleleafshop.com/cdn/shop/t/172/assets/arial.ttf?v=96637986765718172581767866644') format('truetype'); } .product_desciption_custom { font-family: "arial" !important; } .customTabs { li { position: relative; padding: 0 15px; } li::before { content: ""; width: 1px; height: 50%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); background: #000 } li::after { content: ""; width: 1px; height: 50%; position: absolute; right: 0; top: 50%; transform: translateY(-50%); background: #000 } } .customTop { width: 127px!important; flex-direction: column; right: 10px; bottom: 100px; text-align: right; display: block !important; position: fixed; z-index: 50; cursor: pointer; } .customStickyBtn { z-index: 50; justify-content: space-evenly; background: #fff; /* width: 127px!important; flex-direction: column; right: 10px; bottom: 50px; text-align: right; display: block !important; position: fixed; z-index: 50; */ } .customStickyBtn .customCart, .customStickyBtn .customBuy { width: 35%; /* width: 127px; height: 36px; */ color: #fff !important; background-color: #7c189f !important; padding: 0; font-size: 14px; border-radius: 5px; display: flex; align-items: center; justify-content: center; } .customStickyBtn .customCart img, .customStickyBtn .customBuy img { height: 25px; width: fit-content; margin-right: 5px; } .customDetailBox b,.customDetailBox strong { letter-spacing: 1px; } #collapse { width: 100%; margin: 10px auto; list-style-type: none; color: #000; } .topTitle { font-size: 20px; font-weight: bold; margin-bottom: 20px; letter-spacing: 1px; } .item { padding: 15px 0; position: relative; } .item::after { content: ""; height: 1px; width: 100%; background-color: #000; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); } .itemTitle { font-weight: bold; font-size: 16px; position: relative; display: flex; align-items: center; cursor: pointer; letter-spacing: 1px; } .iconAngel { width: auto!important; margin: 0 0 0 5px !important; transform: rotate(-90deg); transition: all .3s; } .tableCustom { width: max-content!important; margin-right: 1px; border-collapse: separate; } .tableCustom td, .tableCustom th { padding: 20px 32px; text-align: left; } .tableCustom tr { border-top: none!important; } .productSizeImgBox { display: flex; overflow-x: scroll; } .productSizeImgBox img, .productSizeImgBox img { box-shadow: 0 0 8px 0px #d5d5d5; } .content { font-size: 15px; margin-top: 8px; height: 0; overflow: hidden; transition: all .3s; will-change: height; } .content img { width: 100%; margin: 0 0 10px 0; } .item.active .iconAngel { transform: rotate(0deg); } .item.active .content { height: auto; } .contrast { width: 100%; padding-bottom: 30px; overflow: hidden; } .contrast .title { font-weight: bold; font-size: 20px; color: #000000; margin-top: 53px; } .mainBox { margin-top: 30px; display: flex; position: relative; width: 100%; overflow-x: scroll; } .leftBox { display: flex; position: sticky; left: 0; z-index: 4; } .itemBox .inBox { width: 270px; height: 345px; display: flex; flex-direction: column; align-items: center; background-color: #fff; } .itemBox.border { border: 1px solid #000; } .itemBox.center .bottomContent div { justify-content: center; } .imgBox { width: 215px; height: 209px; img { margin: 0!important; } } .pTitle { margin-top: 40px; font-weight: bold; font-size: 14px; color: #000000; } .pBtn { width: 90px; height: 31px; margin-top: 3px; background: #7B189F; border-radius: 5px; font-weight: 400; font-size: 12px; color: #FFFFFF!important; display: flex; align-items: center; justify-content: center; text-decoration: none!important; } .bottomContent div { height: 52px; background: #F0F0F0; display: flex; align-items: center; padding: 0 20px; /* font-family: OpenSans; */ font-weight: 400; font-size: 14px; color: #000000; } .bottomContent div.deep { background: #DADADA; } .rightBox { display: flex; } @media screen and (max-width: 768px) { .contrast { padding: 0; } .leftBox { width: 50%; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5); } .content .boxp{ text-align: justify; } .content p { text-align: justify; } .productSizeImgBox .mobile-image-container { display: flex; } .itemBox { flex-shrink: 0; width: 100%; } .itemBox .inBox { width: 100%; height: 210px; background-color: transparent; } .leftBox .itemBox:nth-child(1) { position: absolute; background: transparent; left: 0; top: 0; } .leftBox .itemBox:nth-child(1) .bottomContent > div { background-color: transparent; align-items: start; font-weight: bold; padding-top: 0px; height: 43px; } .imgBox { width: 100%; height: 145px; } .imgBox img { margin: 0 auto !important; height: 100%; } .pBtn { height: 25px; } .pTitle { margin-top: initial; padding: 0 5px; text-align: center; line-height: normal; } .bottomContent div { height: 30px; background: #F0F0F0; padding: 13px 5px 4px 5px; /* font-family: OpenSans; */ font-weight: 400; font-size: 12px; color: #000000; box-sizing: content-box !important; line-height: normal; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: break-word; } .rightBox { display: flex; overflow: scroll; width: 50%; } } @media screen and (min-width: 768px) { .productSizeImgBox .image-container { display: flex; } .tableCustom td:first-child, .tableCustom th:first-child { position: sticky; left: 0px; z-index: 2; background-color: #FFFFFF; } } @media only screen and (max-width: 600px) { .image-container { display: none; } .mobile-image-container { margin: 0; padding: 0; list-style-type: none; margin-left: 0 !important; padding: 0 !important; } .mobile-image-container li { width: 100%; margin-bottom: 20px; } .mobile-image-container img { width: 100%; height: auto; } } @media only screen and (min-width: 601px) { .mobile-image-container { display: none; } } .swiperTitle { font-size: 24px; font-weight: bold; text-align: center } .carousel-section { width: 100%; max-width: 1464px; margin: 30px auto; position: relative; } .carousel-container { position: relative; overflow: hidden; } .carousel-track { display: flex; transition: transform 0.5s ease-in-out; } .carousel-img { min-width: 100%; object-fit: cover; } .desktop-carousel .carousel-img { max-height: 600px; } .mobile-carousel .mobile-img { width: 100%; height: auto; } .carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); background-color: rgba(0, 0, 0, 0.4); color: #fff; border: none; font-size: 2rem; padding: 10px; cursor: pointer; z-index: 10; } .carousel-btn.left { left: 10px; } .carousel-btn.right { right: 10px; } .carousel-topbar { position: absolute; top: 0; left: 0; width: 100%; box-sizing: border-box; background: rgba(0, 0, 0, 0.88); z-index: 3; padding: 8px 12px; } .carousel-topbar-inner { display: flex; align-items: center; justify-content: center; gap: 75px; max-width: 100%; overflow-y: hidden; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; flex-wrap: nowrap; white-space: nowrap; cursor: grab; } .carousel-topbar-inner::-webkit-scrollbar { display: none; } .carousel-topbar-inner.dragging { cursor: grabbing; user-select: none; } .carousel-tab { flex: 0 0 auto; color: rgba(255, 255, 255, 0.78); background: transparent; border: none; font-size: 18px; line-height: 1.2; padding: 12px 2px; cursor: pointer; position: relative; white-space: nowrap; } .carousel-tab:focus { outline: none; } .carousel-tab.active { color: #fff; font-weight: 600; } .carousel-tab.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 3px; margin: 0 auto; width: 80%; height: 2px; background: #fff; } .video video { width: 100%; } @media only screen and (max-width: 600px) { .desktop-carousel { display: none; } .carousel-topbar-inner { gap: 16px; } .carousel-tab { font-size: 13px; } .carousel-topbar-inner { justify-content: flex-start; } .topbarCenter .carousel-topbar-inner { justify-content: center; } } @media only screen and (min-width: 601px) { .mobile-carousel { display: none; } } .tableCustom { width: 100%; border-collapse: collapse; border: 1px solid black; } .tableCustom td, .tableCustom th { padding: 12px 15px; text-align: left; border-bottom: 1px solid #e0e0e0; border-right: 1px solid #e0e0e0; } .tableCustom td:last-child, .tableCustom th:last-child { border-right: none; } .tableCustom tr:last-child td { border-bottom: none; } .tableCustom th { background-color: #f8f9fa; font-weight: 600; color: #333; } .footerTable { text-align: left; margin-bottom: 30px; } .footerTable .table-wrapper { white-space: initial; } .footerTable .tableBox { margin-top: 0; } .footerTable .a-text-bold { font-weight: bold; } .footerTable .tableBigTitle { font-size: 24px; font-weight: bold; margin: 20px 0; text-align: center } .footerTable .tableBox { border-bottom: 1px solid #d5d9d9; width: 100%; } .footerTable th { width: 30%; } .footerTable td, .footerTable th { padding: 8px 16px 8px 0!important; vertical-align: top; border-top: 1px solid #d5d9d9; } document.getElementById('topBtn').addEventListener('click', scrollToTop); function scrollToTop() { window.scrollTo({ top: 0, behavior: 'smooth' }); } console.log(123) let item = document.querySelectorAll('.item'); let itemTitle = document.querySelectorAll('.itemTitle'); for (let i = 0; i < item.length; i++) { itemTitle[i].addEventListener('click', function() { if (item[i].className.includes('active')) { item[i].className = 'item'; } else { item[i].className = 'item active'; } }) } document.addEventListener("DOMContentLoaded", function () { const containers = findCarouselContainers(); const instances = containers.map((el) => new Carousel(el)); instances.forEach((ins) => ins.init()); window.addEventListener("resize", function () { instances.forEach((ins) => ins.rebind()); }); }); function findCarouselContainers() { const explicit = Array.from( document.querySelectorAll(".carousel-container") ); if (explicit.length) return explicit; const tracks = Array.from( document.querySelectorAll(".desktop-carousel, .mobile-carousel") ); const set = new Set(); tracks.forEach((t) => { if (t.parentElement) set.add(t.parentElement); }); return Array.from(set); } class Carousel { constructor(container) { this.container = container; this.leftBtn = container.querySelector(".carousel-btn.left"); this.rightBtn = container.querySelector(".carousel-btn.right"); this.desktopTrack = container.querySelector(".desktop-carousel"); this.mobileTrack = container.querySelector(".mobile-carousel"); this.currentSlide = 0; this.currentTrack = null; this.slides = []; this.autoPlayInterval = null; this.topbarEl = null; this.topbarInnerEl = null; this.labels = []; } enableDragScroll() { const el = this.topbarInnerEl; if (!el) return; let isDown = false; let startX = 0; let startScroll = 0; let moved = false; const getX = (e) => (e.touches ? e.touches[0].pageX : e.pageX); const onDown = (e) => { isDown = true; moved = false; el.classList.add("dragging"); startX = getX(e); startScroll = el.scrollLeft; }; const onMove = (e) => { if (!isDown) return; const x = getX(e); const dx = x - startX; if (Math.abs(dx) > 3) moved = true; el.scrollLeft = startScroll - dx; }; const onUp = () => { isDown = false; el.classList.remove("dragging"); setTimeout(() => { moved = false; }, 0); }; el.addEventListener("mousedown", onDown); el.addEventListener("mousemove", onMove); el.addEventListener("mouseup", onUp); el.addEventListener("mouseleave", onUp); el.addEventListener("touchstart", onDown, { passive: true, }); el.addEventListener("touchmove", onMove, { passive: true, }); el.addEventListener("touchend", onUp); this.preventClickWhenDrag = (btn) => { btn.addEventListener( "click", (evt) => { if (moved) evt.preventDefault(); }, true ); }; } getActiveTrack() { const desktopVisible = this.desktopTrack && window.getComputedStyle(this.desktopTrack).display !== "none"; return desktopVisible ? this.desktopTrack : this.mobileTrack; } ensureTopbar() { if (!this.currentTrack) return; const isNewCustom = this.container.classList.contains("newCustom"); if (!isNewCustom) return; const parent = this.container; const pos = window.getComputedStyle(parent).position; if (pos === "static") parent.style.position = "relative"; this.topbarEl = parent.querySelector(".carousel-topbar"); if (!this.topbarEl) { this.topbarEl = document.createElement("div"); this.topbarEl.className = "carousel-topbar"; this.topbarInnerEl = document.createElement("div"); this.topbarInnerEl.className = "carousel-topbar-inner"; this.topbarEl.appendChild(this.topbarInnerEl); parent.insertBefore(this.topbarEl, this.currentTrack); } else { this.topbarInnerEl = this.topbarEl.querySelector( ".carousel-topbar-inner" ); this.topbarInnerEl.innerHTML = ""; } } parseContainerLabelsAttr() { const raw = this.container.getAttribute("data-labels"); if (!raw) return null; try { const json = JSON.parse(raw); if (Array.isArray(json)) return json; } catch (e) { } return raw .split("|") .map((s) => s.trim()) .filter(Boolean); } buildLabels() { const fromContainer = this.parseContainerLabelsAttr(); if (fromContainer && fromContainer.length) { this.labels = fromContainer.slice(); return; } this.labels = Array.from(this.slides).map((img, i) => { return img.dataset.label || img.alt || `第${i + 1}张`; }); } buildTabs() { if (!this.topbarInnerEl) return; this.topbarInnerEl.innerHTML = ""; this.labels.forEach((text, idx) => { const btn = document.createElement("button"); btn.type = "button"; btn.className = "carousel-tab" + (idx === this.currentSlide ? " active" : ""); btn.textContent = text; btn.setAttribute("data-index", String(idx)); btn.addEventListener("click", () => { if (!this.slides.length) return; this.currentSlide = idx; this.update(true); this.restartAutoPlay(); }); if (typeof this.preventClickWhenDrag === "function") { this.preventClickWhenDrag(btn); } this.topbarInnerEl.appendChild(btn); }); this.enableDragScroll && this.enableDragScroll(); this.adjustParentPadding(); this.keepActiveTabVisible("auto"); } keepActiveTabVisible(behavior = "auto") { if (!this.topbarInnerEl) return; const active = this.topbarInnerEl.querySelector(".carousel-tab.active"); if (!active) return; const margin = 6; requestAnimationFrame(() => { const elRect = this.topbarInnerEl.getBoundingClientRect(); const itemRect = active.getBoundingClientRect(); const leftOverflow = itemRect.left - (elRect.left + margin); const rightOverflow = itemRect.right - (elRect.right - margin); let delta = 0; if (leftOverflow < 0) { delta = leftOverflow; } else if (rightOverflow > 0) { delta = rightOverflow; } if (itemRect.width >= elRect.width) { delta = itemRect.left - elRect.left; } if (delta !== 0) { this.topbarInnerEl.scrollBy({ left: delta, behavior, }); } }); } adjustParentPadding() { if (!this.topbarEl) return; const safeTop = parseFloat( getComputedStyle(document.documentElement).getPropertyValue( "env(safe-area-inset-top)" ) ) || 0; this.container.style.paddingTop = this.topbarEl.offsetHeight + safeTop + "px"; } updateActiveTab() { if (!this.topbarInnerEl) return; const tabs = this.topbarInnerEl.querySelectorAll(".carousel-tab"); tabs.forEach((t, i) => { if (i === this.currentSlide) t.classList.add("active"); else t.classList.remove("active"); }); } update(fromUI = false) { if (this.currentTrack) { this.currentTrack.style.transform = `translateX(-${ this.currentSlide * 100 }%)`; } this.updateActiveTab(); this.adjustParentPadding(); this.keepActiveTabVisible(fromUI ? "smooth" : "auto"); } bindControls() { if (this.leftBtn) { this.leftBtn.addEventListener( "click", (this.onLeftClickBound = () => { if (!this.currentTrack || !this.slides.length) return; this.currentSlide = (this.currentSlide - 1 + this.slides.length) % this.slides.length; this.update(true); this.restartAutoPlay(); }) ); } if (this.rightBtn) { this.rightBtn.addEventListener( "click", (this.onRightClickBound = () => { if (!this.currentTrack || !this.slides.length) return; this.currentSlide = (this.currentSlide + 1) % this.slides.length; this.update(true); this.restartAutoPlay(); }) ); } } startAutoPlay() { this.stopAutoPlay(); if(this.container.dataset.autoplay && this.container.dataset.autoplay === 'false') return this.autoPlayInterval = setInterval(() => { if (!this.currentTrack || this.slides.length === 0) return; this.currentSlide = (this.currentSlide + 1) % this.slides.length; this.update(); }, this.container.dataset.time || 5000); } stopAutoPlay() { if (this.autoPlayInterval) { clearInterval(this.autoPlayInterval); this.autoPlayInterval = null; } } restartAutoPlay() { this.stopAutoPlay(); this.startAutoPlay(); } init() { this.currentTrack = this.getActiveTrack(); this.slides = this.currentTrack ? this.currentTrack.querySelectorAll("img") : []; this.currentSlide = 0; this.ensureTopbar(); this.buildLabels(); this.buildTabs(); this.bindControls(); this.update(); this.startAutoPlay(); } rebind() { this.currentTrack = this.getActiveTrack(); this.slides = this.currentTrack ? this.currentTrack.querySelectorAll("img") : []; this.currentSlide = Math.min( this.currentSlide, Math.max(this.slides.length - 1, 0) ); this.ensureTopbar(); this.buildLabels(); this.buildTabs(); this.update(); this.restartAutoPlay(); } }
$259.00
$159.0039% OFF
OVIOS Mid-Back Ergonomic Office Chair for Home Wor...
About this item Mid-Century Modern Design: This modern MCM office chair features premium faux-leather upholstery and a unique retro silhouette that elevates any workspace. The wide seat, supportive mid-back design, and thick, cotton-filled cushions create a soft, cloud-like sitting experience with both style and comfort. Comfort-Driven Ergonomics: Engineered for all-day support, this executive chair adapts to your sitting habits with a comfortable ergonomic structure. Removable armrests and adjustable height make it easy to fit various desk heights, while the smooth 360° swivel and rolling base help you work more efficiently. Soft & Durable Leather-Touch Fabric:Crafted with luxurious faux leather that stays soft to the touch, this chair stands out with its refined texture and subtle sheen. The fabric is breathable, durable, scratch-resistant, pet-friendly, non-pilling, and easy to clean—perfect for everyday home office use. Sturdy & Supportive: Built with a strong metal frame and curved backrest brackets for natural spine support. Tested gas lift and 360° rotating casters provide stable, smooth movement and support up to 300 lbs. Easy Setup & Versatile Use: Assembles in 10–15 minutes with included tools. Ideal for home offices, conference rooms, study areas, gaming rooms, and more. Product information Color Brown;Beige;Dark Brown;Grey Product Dimensions 27.2"D x 27.2"W x 40.2"H Seat Width 21.7 inches Seat Height 18.5~21.3 Inches Seat Depth 18.3 inches Weight Capacity 300 lbs Backrest Angle Adjustment 92°~120° Product Care Instructions Wipe Clean Finish Fabric Suede Recommended Uses For Product Office Surface Recommendation Hard Floor Item Weight 31.97 pounds
$279.00
$159.0043% OFF
OVIOS Mid-Back Ergonomic Office Chair for Home Wor...
About this item Mid-Century Modern Design: This modern MCM office chair features premium faux-leather upholstery and a unique retro silhouette that elevates any workspace. The wide seat, supportive mid-back design, and thick, cotton-filled cushions create a soft, cloud-like sitting experience with both style and comfort. Comfort-Driven Ergonomics: Engineered for all-day support, this executive chair adapts to your sitting habits with a comfortable ergonomic structure. Removable armrests and adjustable height make it easy to fit various desk heights, while the smooth 360° swivel and rolling base help you work more efficiently. Soft & Durable Leather-Touch Fabric:Crafted with luxurious faux leather that stays soft to the touch, this chair stands out with its refined texture and subtle sheen. The fabric is breathable, durable, scratch-resistant, pet-friendly, non-pilling, and easy to clean—perfect for everyday home office use. Sturdy & Supportive: Built with a strong metal frame and curved backrest brackets for natural spine support. Tested gas lift and 360° rotating casters provide stable, smooth movement and support up to 300 lbs. Easy Setup & Versatile Use: Assembles in 10–15 minutes with included tools. Ideal for home offices, conference rooms, study areas, gaming rooms, and more. Product information Color Brown;Beige;Dark Brown;Grey Product Dimensions 27.2"D x 27.2"W x 40.2"H Seat Width 21.7 inches Seat Height 18.5~21.3 Inches Seat Depth 18.3 inches Weight Capacity 300 lbs Backrest Angle Adjustment 92°~120° Product Care Instructions Wipe Clean Finish Fabric Suede Recommended Uses For Product Office Surface Recommendation Hard Floor Item Weight 31.97 pounds
$279.00
$159.0043% OFF
OVIOS Mid-Back Ergonomic Office Chair for Home Wor...
About this item Mid-Century Modern Design: This modern MCM office chair features premium faux-leather upholstery and a unique retro silhouette that elevates any workspace. The wide seat, supportive mid-back design, and thick, cotton-filled cushions create a soft, cloud-like sitting experience with both style and comfort. Comfort-Driven Ergonomics: Engineered for all-day support, this executive chair adapts to your sitting habits with a comfortable ergonomic structure. Removable armrests and adjustable height make it easy to fit various desk heights, while the smooth 360° swivel and rolling base help you work more efficiently. Soft & Durable Leather-Touch Fabric:Crafted with luxurious faux leather that stays soft to the touch, this chair stands out with its refined texture and subtle sheen. The fabric is breathable, durable, scratch-resistant, pet-friendly, non-pilling, and easy to clean—perfect for everyday home office use. Sturdy & Supportive: Built with a strong metal frame and curved backrest brackets for natural spine support. Tested gas lift and 360° rotating casters provide stable, smooth movement and support up to 300 lbs. Easy Setup & Versatile Use: Assembles in 10–15 minutes with included tools. Ideal for home offices, conference rooms, study areas, gaming rooms, and more. Product information Color Brown;Beige;Dark Brown;Grey Product Dimensions 27.2"D x 27.2"W x 40.2"H Seat Width 21.7 inches Seat Height 18.5~21.3 Inches Seat Depth 18.3 inches Weight Capacity 300 lbs Backrest Angle Adjustment 92°~120° Product Care Instructions Wipe Clean Finish Fabric Suede Recommended Uses For Product Office Surface Recommendation Hard Floor Item Weight 31.97 pounds
$279.00
$159.0043% OFF
OVIOS Mid-Back Ergonomic Office Chair for Home Wor...
About this item Mid-Century Modern Design: This modern MCM office chair features premium faux-leather upholstery and a unique retro silhouette that elevates any workspace. The wide seat, supportive mid-back design, and thick, cotton-filled cushions create a soft, cloud-like sitting experience with both style and comfort. Comfort-Driven Ergonomics: Engineered for all-day support, this executive chair adapts to your sitting habits with a comfortable ergonomic structure. Removable armrests and adjustable height make it easy to fit various desk heights, while the smooth 360° swivel and rolling base help you work more efficiently. Soft & Durable Leather-Touch Fabric:Crafted with luxurious faux leather that stays soft to the touch, this chair stands out with its refined texture and subtle sheen. The fabric is breathable, durable, scratch-resistant, pet-friendly, non-pilling, and easy to clean—perfect for everyday home office use. Sturdy & Supportive: Built with a strong metal frame and curved backrest brackets for natural spine support. Tested gas lift and 360° rotating casters provide stable, smooth movement and support up to 300 lbs. Easy Setup & Versatile Use: Assembles in 10–15 minutes with included tools. Ideal for home offices, conference rooms, study areas, gaming rooms, and more. Product information Color Brown;Beige;Dark Brown;Grey Product Dimensions 27.2"D x 27.2"W x 40.2"H Seat Width 21.7 inches Seat Height 18.5~21.3 Inches Seat Depth 18.3 inches Weight Capacity 300 lbs Backrest Angle Adjustment 92°~120° Product Care Instructions Wipe Clean Finish Fabric Suede Recommended Uses For Product Office Surface Recommendation Hard Floor Item Weight 31.97 pounds
$279.00
$159.0043% OFF
OVIOS Office Executive Chair Oversize Cushions Sue...
@media only screen and (max-width: 600px) { .image-container { display: none; } .mobile-image-container { margin: 0; padding: 0; list-style-type: none; margin-left: 0 !important; padding: 0 !important; } .mobile-image-container li { width: 100%; margin-bottom: 20px; } .mobile-image-container img { width: 100%; height: auto; margin: 0px; } } @media only screen and (min-width: 601px) { .mobile-image-container { display: none; } } #collapse .content ul { list-style-type: none; } #collapse .item:first-of-type b, #collapse .item:first-of-type strong { letter-spacing: normal; } PRODUCT OVERVIEW FEATURES [ Luxurious Comfort with Suede Fabric ] This office chair is upholstered in high-quality suede fabric, offering the elegant appearance of leather with a soft, breathable feel. The oversize cushions on both the seat and backrest provide exceptional comfort, making it ideal for long hours of use. [ Fully Adjustable for Personalized Comfort ] Easily adjust the chair's height and tilt to fit your needs. The multi-angle reclining backrest can be locked in your desired position, giving you the flexibility to switch between focused work and relaxation with ease. [ Durable Construction with Sturdy Iron Base ] Built to last, this chair features a strong iron base that ensures stability and can support up to 350 lbs. Its ergonomic design, combined with the robust frame, delivers reliable comfort and long-term durability. [ Stylish and Functional for Any Space ] The sleek design and premium suede fabric make this chair a perfect addition to any office or home workspace. Combining functionality with sophisticated aesthetics, it seamlessly enhances the look of any professional setting. HIGHLIGHTS SHIPPING & RETURN Shipping time & delivery time We usually ship items within 24 - 48 hours after confirmed payment. (in business days) In general, we ship via Fedex, average transit time is about 7 - 10 business days. In rare cases due to unforeseen events, (e.g. extreme weather, unusual spikes, etc.), these shipment processing times may be delayed. Free shipping policy All of our items are FREE SHIPPING in normal cases (within the contiguous United States). You can get the items with no shipping cost. There is no other hidden charges or handling fees. In a few special cases, you need to pay necessary cost of shipment, for example, return, exchange or some area. We ship only within the 48 contiguous United States. We do not ship to Alaska, Hawaii, US protectorates (e.g., Puerto Rico), P.O. boxes, or APO/FPO addresses. About tracking logistics information We’ll send you the delivery time by email. For any further information, please feel free to contact us: [email protected] If you want to change or cancel your order, please check whether the order has already been processed. Once the item leaves our warehouse, it can not be canceled or changed. Keep in mind: 1. Tracking is not available for orders that are in a Processing status 2. Tracking can take up to 72 hours to update after an order is shipped About damaged packages and defective items upon arrival When you receive your item, please check your package and item carefully. If there is something wrong, the following steps are advised: 1. Take pictures reflecting the damage or defect clearly. 2. Then please email us at [email protected] immediately and attach the photos. 3. We will contact you and try our best to find the best solution. 4. Attention please, do not throw away the boxes or packaging materials, otherwise, your request of return or exchange will not be accepted. Additional Information We process orders Monday-Friday (excluding holidays). If you place your order after the cutoff times, we’ll process and ship the order the next business day. We do not deliver on Sundays or holidays. About tracking information stagnation With the surge in demand from shipping companies in the US due to high demand, we are seeing an increase in tracking and scanning issues where shipping companies are picking up shipments from warehouses but the tracking tags are not being scanned correctly when the shipping companies pick them up. Our carriers are working to eliminate tracking issues and delivery delays. SERVICE & WARRANTY Dear customers we guarantee that all items we sell have undergone strict quality control inspections to ensure you have an excellent product experience. At the same time, our warranty policy can make you rest assured to buy furniture products from us. All items sold by OVIOS are covered by the following comprehensive product warranties. 1.Customer Service Our customer service team will respond within 24 hours. We product comes with a one-year warranty. You can contact our exclusive OVIOS customer service team for assistance before and after your purchase. 2.Accepted Return 30 Day Unconditional Refund Guarantee for Unopened & Unused. If you are not satisfied with your purchase, or for whatever reason, You no longer want this product within 30 days after receiving it, you may contact us for a return and refund. Kindly note that in such cases the return shipping fee is the customer's responsibility and is non-refundable. Items MUST be returned in their original packaging, unused and unopened in order to qualify for a product refund. The customers should pay for actual cost of return shipping because of their remorse. But don't need to pay for defective producets return. And there is no restocking fee. These fees need to be settled in U.S. dollars. Note that the returns shipping fee is non-refundable and products must be returned unopened and unused for a refund. If the boxes has been opened, the buyer needs to send a picture and confirm with the seller. Only when the confirmation does not affect the normal use can the return be supported, and the buyer needs to afford a certain amount of goods loss charge. Please ensure to return the item with its original packaging and accessories in the same condition as when you received it. 3.Not support the return (1) Return is not accepted when damage is caused by unauthorized maintenance, misusing, collision, negligence, abuse, etc. Returns will not be accepted for OPEN BOX products. (2) Arrived damage If the item you have received is defective or damaged, contact our customer service at the first time and provide us with the order number and the photos or a video of the defective or damaged item in 7 days. In this case, after our checking, we can give a full refund. (3) Missing part If your product parts damaged or missing, we can send the new parts to you or partially refund you. If the part affects product function or use, you can't repair it by yourself or the local technique person, and we will send a new item with you or a full refund. (4) Doesn't work or defective When you received the product that doesn't work, you can ask our customer service for help, we'll give you the related technical reply; if it doesn't work still, you can ask for an refund. When you received the product is defective, and you can ask our customer service to give you technical support or solution, if you can repair it by yourself or local store, we will provide you with some compensation. (5) Incorrect Package Sent If the item you have received differs completely from the one you ordered, please do not hesitate to contact our customer service and to provide us with the following proofs in 7 days: Photos or a video of the incorrect item. We will send the new item to you. 4.Return Confirmation (1) Contact us [email protected] to get a return shipping label. submit order , a clear picture or video, and shipping packaging to confirm your return is accepted. (2) When returning your package, please make sure the item is in good condition with all accessories inside. Affix the return shipping label that we provided to the package, ship it to the address our customer service sent you. 5.Refund and Compensation Process (1) PayPal refunds may take up to 24 hours to process and appear in your account. (2) Credit card refunds will take between 7-14 business days to appear in your account. This delay depends entirely on your credit card company and any intermediaries. Note: The price of the products on our website will fluctuate with the cost, and we will not refund any difference caused by this. @font-face { font-family: 'arial'; src: url('//purpleleafshop.com/cdn/shop/t/172/assets/arial.ttf?v=96637986765718172581767866644') format('truetype'); } .product_desciption_custom { font-family: "arial" !important; } .customTabs { li { position: relative; padding: 0 15px; } li::before { content: ""; width: 1px; height: 50%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); background: #000 } li::after { content: ""; width: 1px; height: 50%; position: absolute; right: 0; top: 50%; transform: translateY(-50%); background: #000 } } .customTop { width: 127px!important; flex-direction: column; right: 10px; bottom: 100px; text-align: right; display: block !important; position: fixed; z-index: 50; cursor: pointer; } .customStickyBtn { z-index: 50; justify-content: space-evenly; background: #fff; /* width: 127px!important; flex-direction: column; right: 10px; bottom: 50px; text-align: right; display: block !important; position: fixed; z-index: 50; */ } .customStickyBtn .customCart, .customStickyBtn .customBuy { width: 35%; /* width: 127px; height: 36px; */ color: #fff !important; background-color: #7c189f !important; padding: 0; font-size: 14px; border-radius: 5px; display: flex; align-items: center; justify-content: center; } .customStickyBtn .customCart img, .customStickyBtn .customBuy img { height: 25px; width: fit-content; margin-right: 5px; } .customDetailBox b,.customDetailBox strong { letter-spacing: 1px; } #collapse { width: 100%; margin: 10px auto; list-style-type: none; color: #000; } .topTitle { font-size: 20px; font-weight: bold; margin-bottom: 20px; letter-spacing: 1px; } .item { padding: 15px 0; position: relative; } .item::after { content: ""; height: 1px; width: 100%; background-color: #000; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); } .itemTitle { font-weight: bold; font-size: 16px; position: relative; display: flex; align-items: center; cursor: pointer; letter-spacing: 1px; } .iconAngel { width: auto!important; margin: 0 0 0 5px !important; transform: rotate(-90deg); transition: all .3s; } .tableCustom { width: max-content!important; margin-right: 1px; border-collapse: separate; } .tableCustom td, .tableCustom th { padding: 20px 32px; text-align: left; } .tableCustom tr { border-top: none!important; } .productSizeImgBox { display: flex; overflow-x: scroll; } .productSizeImgBox img, .productSizeImgBox img { box-shadow: 0 0 8px 0px #d5d5d5; } .content { font-size: 15px; margin-top: 8px; height: 0; overflow: hidden; transition: all .3s; will-change: height; } .content img { width: 100%; margin: 0 0 10px 0; } .item.active .iconAngel { transform: rotate(0deg); } .item.active .content { height: auto; } .contrast { width: 100%; padding-bottom: 30px; overflow: hidden; } .contrast .title { font-weight: bold; font-size: 20px; color: #000000; margin-top: 53px; } .mainBox { margin-top: 30px; display: flex; position: relative; width: 100%; overflow-x: scroll; } .leftBox { display: flex; position: sticky; left: 0; z-index: 4; } .itemBox .inBox { width: 270px; height: 345px; display: flex; flex-direction: column; align-items: center; background-color: #fff; } .itemBox.border { border: 1px solid #000; } .itemBox.center .bottomContent div { justify-content: center; } .imgBox { width: 215px; height: 209px; img { margin: 0!important; } } .pTitle { margin-top: 40px; font-weight: bold; font-size: 14px; color: #000000; } .pBtn { width: 90px; height: 31px; margin-top: 3px; background: #7B189F; border-radius: 5px; font-weight: 400; font-size: 12px; color: #FFFFFF!important; display: flex; align-items: center; justify-content: center; text-decoration: none!important; } .bottomContent div { height: 52px; background: #F0F0F0; display: flex; align-items: center; padding: 0 20px; /* font-family: OpenSans; */ font-weight: 400; font-size: 14px; color: #000000; } .bottomContent div.deep { background: #DADADA; } .rightBox { display: flex; } @media screen and (max-width: 768px) { .contrast { padding: 0; } .leftBox { width: 50%; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5); } .content .boxp{ text-align: justify; } .content p { text-align: justify; } .productSizeImgBox .mobile-image-container { display: flex; } .itemBox { flex-shrink: 0; width: 100%; } .itemBox .inBox { width: 100%; height: 210px; background-color: transparent; } .leftBox .itemBox:nth-child(1) { position: absolute; background: transparent; left: 0; top: 0; } .leftBox .itemBox:nth-child(1) .bottomContent > div { background-color: transparent; align-items: start; font-weight: bold; padding-top: 0px; height: 43px; } .imgBox { width: 100%; height: 145px; } .imgBox img { margin: 0 auto !important; height: 100%; } .pBtn { height: 25px; } .pTitle { margin-top: initial; padding: 0 5px; text-align: center; line-height: normal; } .bottomContent div { height: 30px; background: #F0F0F0; padding: 13px 5px 4px 5px; /* font-family: OpenSans; */ font-weight: 400; font-size: 12px; color: #000000; box-sizing: content-box !important; line-height: normal; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: break-word; } .rightBox { display: flex; overflow: scroll; width: 50%; } } @media screen and (min-width: 768px) { .productSizeImgBox .image-container { display: flex; } .tableCustom td:first-child, .tableCustom th:first-child { position: sticky; left: 0px; z-index: 2; background-color: #FFFFFF; } } @media only screen and (max-width: 600px) { .image-container { display: none; } .mobile-image-container { margin: 0; padding: 0; list-style-type: none; margin-left: 0 !important; padding: 0 !important; } .mobile-image-container li { width: 100%; margin-bottom: 20px; } .mobile-image-container img { width: 100%; height: auto; } } @media only screen and (min-width: 601px) { .mobile-image-container { display: none; } } .swiperTitle { font-size: 24px; font-weight: bold; text-align: center } .carousel-section { width: 100%; max-width: 1464px; margin: 30px auto; position: relative; } .carousel-container { position: relative; overflow: hidden; } .carousel-track { display: flex; transition: transform 0.5s ease-in-out; } .carousel-img { min-width: 100%; object-fit: cover; } .desktop-carousel .carousel-img { max-height: 600px; } .mobile-carousel .mobile-img { width: 100%; height: auto; } .carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); background-color: rgba(0, 0, 0, 0.4); color: #fff; border: none; font-size: 2rem; padding: 10px; cursor: pointer; z-index: 10; } .carousel-btn.left { left: 10px; } .carousel-btn.right { right: 10px; } .carousel-topbar { position: absolute; top: 0; left: 0; width: 100%; box-sizing: border-box; background: rgba(0, 0, 0, 0.88); z-index: 3; padding: 8px 12px; } .carousel-topbar-inner { display: flex; align-items: center; justify-content: center; gap: 75px; max-width: 100%; overflow-y: hidden; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; flex-wrap: nowrap; white-space: nowrap; cursor: grab; } .carousel-topbar-inner::-webkit-scrollbar { display: none; } .carousel-topbar-inner.dragging { cursor: grabbing; user-select: none; } .carousel-tab { flex: 0 0 auto; color: rgba(255, 255, 255, 0.78); background: transparent; border: none; font-size: 18px; line-height: 1.2; padding: 12px 2px; cursor: pointer; position: relative; white-space: nowrap; } .carousel-tab:focus { outline: none; } .carousel-tab.active { color: #fff; font-weight: 600; } .carousel-tab.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 3px; margin: 0 auto; width: 80%; height: 2px; background: #fff; } .video video { width: 100%; } @media only screen and (max-width: 600px) { .desktop-carousel { display: none; } .carousel-topbar-inner { gap: 16px; } .carousel-tab { font-size: 13px; } .carousel-topbar-inner { justify-content: flex-start; } .topbarCenter .carousel-topbar-inner { justify-content: center; } } @media only screen and (min-width: 601px) { .mobile-carousel { display: none; } } .tableCustom { width: 100%; border-collapse: collapse; border: 1px solid black; } .tableCustom td, .tableCustom th { padding: 12px 15px; text-align: left; border-bottom: 1px solid #e0e0e0; border-right: 1px solid #e0e0e0; } .tableCustom td:last-child, .tableCustom th:last-child { border-right: none; } .tableCustom tr:last-child td { border-bottom: none; } .tableCustom th { background-color: #f8f9fa; font-weight: 600; color: #333; } .footerTable { text-align: left; margin-bottom: 30px; } .footerTable .table-wrapper { white-space: initial; } .footerTable .tableBox { margin-top: 0; } .footerTable .a-text-bold { font-weight: bold; } .footerTable .tableBigTitle { font-size: 24px; font-weight: bold; margin: 20px 0; text-align: center } .footerTable .tableBox { border-bottom: 1px solid #d5d9d9; width: 100%; } .footerTable th { width: 30%; } .footerTable td, .footerTable th { padding: 8px 16px 8px 0!important; vertical-align: top; border-top: 1px solid #d5d9d9; } document.getElementById('topBtn').addEventListener('click', scrollToTop); function scrollToTop() { window.scrollTo({ top: 0, behavior: 'smooth' }); } console.log(123) let item = document.querySelectorAll('.item'); let itemTitle = document.querySelectorAll('.itemTitle'); for (let i = 0; i < item.length; i++) { itemTitle[i].addEventListener('click', function() { if (item[i].className.includes('active')) { item[i].className = 'item'; } else { item[i].className = 'item active'; } }) } document.addEventListener("DOMContentLoaded", function () { const containers = findCarouselContainers(); const instances = containers.map((el) => new Carousel(el)); instances.forEach((ins) => ins.init()); window.addEventListener("resize", function () { instances.forEach((ins) => ins.rebind()); }); }); function findCarouselContainers() { const explicit = Array.from( document.querySelectorAll(".carousel-container") ); if (explicit.length) return explicit; const tracks = Array.from( document.querySelectorAll(".desktop-carousel, .mobile-carousel") ); const set = new Set(); tracks.forEach((t) => { if (t.parentElement) set.add(t.parentElement); }); return Array.from(set); } class Carousel { constructor(container) { this.container = container; this.leftBtn = container.querySelector(".carousel-btn.left"); this.rightBtn = container.querySelector(".carousel-btn.right"); this.desktopTrack = container.querySelector(".desktop-carousel"); this.mobileTrack = container.querySelector(".mobile-carousel"); this.currentSlide = 0; this.currentTrack = null; this.slides = []; this.autoPlayInterval = null; this.topbarEl = null; this.topbarInnerEl = null; this.labels = []; } enableDragScroll() { const el = this.topbarInnerEl; if (!el) return; let isDown = false; let startX = 0; let startScroll = 0; let moved = false; const getX = (e) => (e.touches ? e.touches[0].pageX : e.pageX); const onDown = (e) => { isDown = true; moved = false; el.classList.add("dragging"); startX = getX(e); startScroll = el.scrollLeft; }; const onMove = (e) => { if (!isDown) return; const x = getX(e); const dx = x - startX; if (Math.abs(dx) > 3) moved = true; el.scrollLeft = startScroll - dx; }; const onUp = () => { isDown = false; el.classList.remove("dragging"); setTimeout(() => { moved = false; }, 0); }; el.addEventListener("mousedown", onDown); el.addEventListener("mousemove", onMove); el.addEventListener("mouseup", onUp); el.addEventListener("mouseleave", onUp); el.addEventListener("touchstart", onDown, { passive: true, }); el.addEventListener("touchmove", onMove, { passive: true, }); el.addEventListener("touchend", onUp); this.preventClickWhenDrag = (btn) => { btn.addEventListener( "click", (evt) => { if (moved) evt.preventDefault(); }, true ); }; } getActiveTrack() { const desktopVisible = this.desktopTrack && window.getComputedStyle(this.desktopTrack).display !== "none"; return desktopVisible ? this.desktopTrack : this.mobileTrack; } ensureTopbar() { if (!this.currentTrack) return; const isNewCustom = this.container.classList.contains("newCustom"); if (!isNewCustom) return; const parent = this.container; const pos = window.getComputedStyle(parent).position; if (pos === "static") parent.style.position = "relative"; this.topbarEl = parent.querySelector(".carousel-topbar"); if (!this.topbarEl) { this.topbarEl = document.createElement("div"); this.topbarEl.className = "carousel-topbar"; this.topbarInnerEl = document.createElement("div"); this.topbarInnerEl.className = "carousel-topbar-inner"; this.topbarEl.appendChild(this.topbarInnerEl); parent.insertBefore(this.topbarEl, this.currentTrack); } else { this.topbarInnerEl = this.topbarEl.querySelector( ".carousel-topbar-inner" ); this.topbarInnerEl.innerHTML = ""; } } parseContainerLabelsAttr() { const raw = this.container.getAttribute("data-labels"); if (!raw) return null; try { const json = JSON.parse(raw); if (Array.isArray(json)) return json; } catch (e) { } return raw .split("|") .map((s) => s.trim()) .filter(Boolean); } buildLabels() { const fromContainer = this.parseContainerLabelsAttr(); if (fromContainer && fromContainer.length) { this.labels = fromContainer.slice(); return; } this.labels = Array.from(this.slides).map((img, i) => { return img.dataset.label || img.alt || `第${i + 1}张`; }); } buildTabs() { if (!this.topbarInnerEl) return; this.topbarInnerEl.innerHTML = ""; this.labels.forEach((text, idx) => { const btn = document.createElement("button"); btn.type = "button"; btn.className = "carousel-tab" + (idx === this.currentSlide ? " active" : ""); btn.textContent = text; btn.setAttribute("data-index", String(idx)); btn.addEventListener("click", () => { if (!this.slides.length) return; this.currentSlide = idx; this.update(true); this.restartAutoPlay(); }); if (typeof this.preventClickWhenDrag === "function") { this.preventClickWhenDrag(btn); } this.topbarInnerEl.appendChild(btn); }); this.enableDragScroll && this.enableDragScroll(); this.adjustParentPadding(); this.keepActiveTabVisible("auto"); } keepActiveTabVisible(behavior = "auto") { if (!this.topbarInnerEl) return; const active = this.topbarInnerEl.querySelector(".carousel-tab.active"); if (!active) return; const margin = 6; requestAnimationFrame(() => { const elRect = this.topbarInnerEl.getBoundingClientRect(); const itemRect = active.getBoundingClientRect(); const leftOverflow = itemRect.left - (elRect.left + margin); const rightOverflow = itemRect.right - (elRect.right - margin); let delta = 0; if (leftOverflow < 0) { delta = leftOverflow; } else if (rightOverflow > 0) { delta = rightOverflow; } if (itemRect.width >= elRect.width) { delta = itemRect.left - elRect.left; } if (delta !== 0) { this.topbarInnerEl.scrollBy({ left: delta, behavior, }); } }); } adjustParentPadding() { if (!this.topbarEl) return; const safeTop = parseFloat( getComputedStyle(document.documentElement).getPropertyValue( "env(safe-area-inset-top)" ) ) || 0; this.container.style.paddingTop = this.topbarEl.offsetHeight + safeTop + "px"; } updateActiveTab() { if (!this.topbarInnerEl) return; const tabs = this.topbarInnerEl.querySelectorAll(".carousel-tab"); tabs.forEach((t, i) => { if (i === this.currentSlide) t.classList.add("active"); else t.classList.remove("active"); }); } update(fromUI = false) { if (this.currentTrack) { this.currentTrack.style.transform = `translateX(-${ this.currentSlide * 100 }%)`; } this.updateActiveTab(); this.adjustParentPadding(); this.keepActiveTabVisible(fromUI ? "smooth" : "auto"); } bindControls() { if (this.leftBtn) { this.leftBtn.addEventListener( "click", (this.onLeftClickBound = () => { if (!this.currentTrack || !this.slides.length) return; this.currentSlide = (this.currentSlide - 1 + this.slides.length) % this.slides.length; this.update(true); this.restartAutoPlay(); }) ); } if (this.rightBtn) { this.rightBtn.addEventListener( "click", (this.onRightClickBound = () => { if (!this.currentTrack || !this.slides.length) return; this.currentSlide = (this.currentSlide + 1) % this.slides.length; this.update(true); this.restartAutoPlay(); }) ); } } startAutoPlay() { this.stopAutoPlay(); if(this.container.dataset.autoplay && this.container.dataset.autoplay === 'false') return this.autoPlayInterval = setInterval(() => { if (!this.currentTrack || this.slides.length === 0) return; this.currentSlide = (this.currentSlide + 1) % this.slides.length; this.update(); }, this.container.dataset.time || 5000); } stopAutoPlay() { if (this.autoPlayInterval) { clearInterval(this.autoPlayInterval); this.autoPlayInterval = null; } } restartAutoPlay() { this.stopAutoPlay(); this.startAutoPlay(); } init() { this.currentTrack = this.getActiveTrack(); this.slides = this.currentTrack ? this.currentTrack.querySelectorAll("img") : []; this.currentSlide = 0; this.ensureTopbar(); this.buildLabels(); this.buildTabs(); this.bindControls(); this.update(); this.startAutoPlay(); } rebind() { this.currentTrack = this.getActiveTrack(); this.slides = this.currentTrack ? this.currentTrack.querySelectorAll("img") : []; this.currentSlide = Math.min( this.currentSlide, Math.max(this.slides.length - 1, 0) ); this.ensureTopbar(); this.buildLabels(); this.buildTabs(); this.update(); this.restartAutoPlay(); } }
$259.00
$159.0039% OFF
OVIOS Office Chair Suede Fabric for Executive and ...
About this item Height Adjustable Comfort: This chair offers a seat height range from 19.09" to 22.05", providing customized ergonomic support. The deep seat ensures enhanced comfort even during extended use, promoting a more relaxed and comfortable seating experience. Versatile Usage: Ideal for home offices, conference rooms, computer rooms, and task workplaces, this executive office chair adapts to various environments seamlessly. Modern and Supportive Design: Strategically placed support cushions offer back and lumbar support, enhancing your comfort. Upholstered in soft suede fabric with ample padding, this chair ensures easy cleaning when needed. Robust Construction: With a weight limit of 350 lb, this chair is both reliable and sturdy, guaranteeing stability and durability for everyday use. Luxurious Suede Fabric: Crafted with suede fabric, this conference chair offers a soft and smooth texture. Suede's hygienic properties, excellent air permeability, colorfastness, water resistance, and non-greasy feel enhance your seating. Product information Color Light Brown;Dark Grey;Dark Brown;Beige Product Dimensions 24.21"D x 28.35"W x 38.19"H Back Style Solid Back Product Care Instructions Wipe Clean Unit Count 1 Count Recommended Uses For Product Office Pattern Solid Finish Type Suede Room Type Office Included Components Caster Shape Rectangular Surface Recommendation Hard Floor Furniture base movement Swivel Seat Height 19.09 to 22.05 Inches Seat Depth 18.11 inches Item Weight 28 pounds
$239.00
$159.0033% OFF
OVIOS Office Chair Suede Fabric for Executive and ...
About this item Height Adjustable Comfort: This chair offers a seat height range from 19.09" to 22.05", providing customized ergonomic support. The deep seat ensures enhanced comfort even during extended use, promoting a more relaxed and comfortable seating experience. Versatile Usage: Ideal for home offices, conference rooms, computer rooms, and task workplaces, this executive office chair adapts to various environments seamlessly. Modern and Supportive Design: Strategically placed support cushions offer back and lumbar support, enhancing your comfort. Upholstered in soft suede fabric with ample padding, this chair ensures easy cleaning when needed. Robust Construction: With a weight limit of 350 lb, this chair is both reliable and sturdy, guaranteeing stability and durability for everyday use. Luxurious Suede Fabric: Crafted with suede fabric, this conference chair offers a soft and smooth texture. Suede's hygienic properties, excellent air permeability, colorfastness, water resistance, and non-greasy feel enhance your seating. Product information Color Light Brown;Dark Grey;Dark Brown;Beige Product Dimensions 24.21"D x 28.35"W x 38.19"H Back Style Solid Back Product Care Instructions Wipe Clean Unit Count 1 Count Recommended Uses For Product Office Pattern Solid Finish Type Suede Room Type Office Included Components Caster Shape Rectangular Surface Recommendation Hard Floor Furniture base movement Swivel Seat Height 19.09 to 22.05 Inches Seat Depth 18.11 inches Item Weight 28 pounds
$239.00
$159.0033% OFF
OVIOS Office Chair Suede Fabric for Executive and ...
About this item Height Adjustable Comfort: This chair offers a seat height range from 19.09" to 22.05", providing customized ergonomic support. The deep seat ensures enhanced comfort even during extended use, promoting a more relaxed and comfortable seating experience. Versatile Usage: Ideal for home offices, conference rooms, computer rooms, and task workplaces, this executive office chair adapts to various environments seamlessly. Modern and Supportive Design: Strategically placed support cushions offer back and lumbar support, enhancing your comfort. Upholstered in soft suede fabric with ample padding, this chair ensures easy cleaning when needed. Robust Construction: With a weight limit of 350 lb, this chair is both reliable and sturdy, guaranteeing stability and durability for everyday use. Luxurious Suede Fabric: Crafted with suede fabric, this conference chair offers a soft and smooth texture. Suede's hygienic properties, excellent air permeability, colorfastness, water resistance, and non-greasy feel enhance your seating. Product information Color Light Brown;Dark Grey;Dark Brown;Beige Product Dimensions 24.21"D x 28.35"W x 38.19"H Back Style Solid Back Product Care Instructions Wipe Clean Unit Count 1 Count Recommended Uses For Product Office Pattern Solid Finish Type Suede Room Type Office Included Components Caster Shape Rectangular Surface Recommendation Hard Floor Furniture base movement Swivel Seat Height 19.09 to 22.05 Inches Seat Depth 18.11 inches Item Weight 28 pounds
$239.00
$159.0033% OFF
Ovios Office Executive Chair Oversize Cushions PU ...
@media only screen and (max-width: 600px) { .image-container { display: none; } .mobile-image-container { margin: 0; padding: 0; list-style-type: none; margin-left: 0 !important; padding: 0 !important; } .mobile-image-container li { width: 100%; margin-bottom: 20px; } .mobile-image-container img { width: 100%; height: auto; margin: 0px; } } @media only screen and (min-width: 601px) { .mobile-image-container { display: none; } } #collapse .content ul { list-style-type: none; } #collapse .item:first-of-type b, #collapse .item:first-of-type strong { letter-spacing: normal; } PRODUCT OVERVIEW FEATURES [ Premium Comfort with Water-Resistant PU Leather ] This office chair is upholstered in high-quality PU leather, offering a sleek, leather-like look with added practicality. The water- and oil-resistant material makes it easy to clean and maintain, ensuring long-lasting use. [ Adjustable for Your Comfort ] Designed with your comfort in mind, the chair offers adjustable height and a tilt mechanism that allows you to recline and lock the backrest at various angles. Whether for work or relaxation, this chair adapts to your needs. [ Sturdy Iron Base for Enhanced Stability ] Constructed with a durable iron base, this chair provides reliable support for up to 350 lbs. The combination of ergonomic design and robust materials ensures lasting comfort and stability, even with frequent use. [ Modern Design for Versatile Spaces ] Featuring a professional and modern look, the chair’s sleek PU leather finish and solid construction make it a perfect fit for both home offices and corporate environments. It blends style with functionality to elevate any workspace. HIGHLIGHTS SHIPPING & RETURN Shipping time & delivery time We usually ship items within 24 - 48 hours after confirmed payment. (in business days) In general, we ship via Fedex, average transit time is about 7 - 10 business days. In rare cases due to unforeseen events, (e.g. extreme weather, unusual spikes, etc.), these shipment processing times may be delayed. Free shipping policy All of our items are FREE SHIPPING in normal cases (within the contiguous United States). You can get the items with no shipping cost. There is no other hidden charges or handling fees. In a few special cases, you need to pay necessary cost of shipment, for example, return, exchange or some area. We ship only within the 48 contiguous United States. We do not ship to Alaska, Hawaii, US protectorates (e.g., Puerto Rico), P.O. boxes, or APO/FPO addresses. About tracking logistics information We’ll send you the delivery time by email. For any further information, please feel free to contact us: [email protected] If you want to change or cancel your order, please check whether the order has already been processed. Once the item leaves our warehouse, it can not be canceled or changed. Keep in mind: 1. Tracking is not available for orders that are in a Processing status 2. Tracking can take up to 72 hours to update after an order is shipped About damaged packages and defective items upon arrival When you receive your item, please check your package and item carefully. If there is something wrong, the following steps are advised: 1. Take pictures reflecting the damage or defect clearly. 2. Then please email us at [email protected] immediately and attach the photos. 3. We will contact you and try our best to find the best solution. 4. Attention please, do not throw away the boxes or packaging materials, otherwise, your request of return or exchange will not be accepted. Additional Information We process orders Monday-Friday (excluding holidays). If you place your order after the cutoff times, we’ll process and ship the order the next business day. We do not deliver on Sundays or holidays. About tracking information stagnation With the surge in demand from shipping companies in the US due to high demand, we are seeing an increase in tracking and scanning issues where shipping companies are picking up shipments from warehouses but the tracking tags are not being scanned correctly when the shipping companies pick them up. Our carriers are working to eliminate tracking issues and delivery delays. SERVICE & WARRANTY Dear customers we guarantee that all items we sell have undergone strict quality control inspections to ensure you have an excellent product experience. At the same time, our warranty policy can make you rest assured to buy furniture products from us. All items sold by OVIOS are covered by the following comprehensive product warranties. 1.Customer Service Our customer service team will respond within 24 hours. We product comes with a one-year warranty. You can contact our exclusive OVIOS customer service team for assistance before and after your purchase. 2.Accepted Return 30 Day Unconditional Refund Guarantee for Unopened & Unused. If you are not satisfied with your purchase, or for whatever reason, You no longer want this product within 30 days after receiving it, you may contact us for a return and refund. Kindly note that in such cases the return shipping fee is the customer's responsibility and is non-refundable. Items MUST be returned in their original packaging, unused and unopened in order to qualify for a product refund. The customers should pay for actual cost of return shipping because of their remorse. But don't need to pay for defective producets return. And there is no restocking fee. These fees need to be settled in U.S. dollars. Note that the returns shipping fee is non-refundable and products must be returned unopened and unused for a refund. If the boxes has been opened, the buyer needs to send a picture and confirm with the seller. Only when the confirmation does not affect the normal use can the return be supported, and the buyer needs to afford a certain amount of goods loss charge. Please ensure to return the item with its original packaging and accessories in the same condition as when you received it. 3.Not support the return (1) Return is not accepted when damage is caused by unauthorized maintenance, misusing, collision, negligence, abuse, etc. Returns will not be accepted for OPEN BOX products. (2) Arrived damage If the item you have received is defective or damaged, contact our customer service at the first time and provide us with the order number and the photos or a video of the defective or damaged item in 7 days. In this case, after our checking, we can give a full refund. (3) Missing part If your product parts damaged or missing, we can send the new parts to you or partially refund you. If the part affects product function or use, you can't repair it by yourself or the local technique person, and we will send a new item with you or a full refund. (4) Doesn't work or defective When you received the product that doesn't work, you can ask our customer service for help, we'll give you the related technical reply; if it doesn't work still, you can ask for an refund. When you received the product is defective, and you can ask our customer service to give you technical support or solution, if you can repair it by yourself or local store, we will provide you with some compensation. (5) Incorrect Package Sent If the item you have received differs completely from the one you ordered, please do not hesitate to contact our customer service and to provide us with the following proofs in 7 days: Photos or a video of the incorrect item. We will send the new item to you. 4.Return Confirmation (1) Contact us [email protected] to get a return shipping label. submit order , a clear picture or video, and shipping packaging to confirm your return is accepted. (2) When returning your package, please make sure the item is in good condition with all accessories inside. Affix the return shipping label that we provided to the package, ship it to the address our customer service sent you. 5.Refund and Compensation Process (1) PayPal refunds may take up to 24 hours to process and appear in your account. (2) Credit card refunds will take between 7-14 business days to appear in your account. This delay depends entirely on your credit card company and any intermediaries. Note: The price of the products on our website will fluctuate with the cost, and we will not refund any difference caused by this. @font-face { font-family: 'arial'; src: url('//purpleleafshop.com/cdn/shop/t/172/assets/arial.ttf?v=96637986765718172581767866644') format('truetype'); } .product_desciption_custom { font-family: "arial" !important; } .customTabs { li { position: relative; padding: 0 15px; } li::before { content: ""; width: 1px; height: 50%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); background: #000 } li::after { content: ""; width: 1px; height: 50%; position: absolute; right: 0; top: 50%; transform: translateY(-50%); background: #000 } } .customTop { width: 127px!important; flex-direction: column; right: 10px; bottom: 100px; text-align: right; display: block !important; position: fixed; z-index: 50; cursor: pointer; } .customStickyBtn { z-index: 50; justify-content: space-evenly; background: #fff; /* width: 127px!important; flex-direction: column; right: 10px; bottom: 50px; text-align: right; display: block !important; position: fixed; z-index: 50; */ } .customStickyBtn .customCart, .customStickyBtn .customBuy { width: 35%; /* width: 127px; height: 36px; */ color: #fff !important; background-color: #7c189f !important; padding: 0; font-size: 14px; border-radius: 5px; display: flex; align-items: center; justify-content: center; } .customStickyBtn .customCart img, .customStickyBtn .customBuy img { height: 25px; width: fit-content; margin-right: 5px; } .customDetailBox b,.customDetailBox strong { letter-spacing: 1px; } #collapse { width: 100%; margin: 10px auto; list-style-type: none; color: #000; } .topTitle { font-size: 20px; font-weight: bold; margin-bottom: 20px; letter-spacing: 1px; } .item { padding: 15px 0; position: relative; } .item::after { content: ""; height: 1px; width: 100%; background-color: #000; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); } .itemTitle { font-weight: bold; font-size: 16px; position: relative; display: flex; align-items: center; cursor: pointer; letter-spacing: 1px; } .iconAngel { width: auto!important; margin: 0 0 0 5px !important; transform: rotate(-90deg); transition: all .3s; } .tableCustom { width: max-content!important; margin-right: 1px; border-collapse: separate; } .tableCustom td, .tableCustom th { padding: 20px 32px; text-align: left; } .tableCustom tr { border-top: none!important; } .productSizeImgBox { display: flex; overflow-x: scroll; } .productSizeImgBox img, .productSizeImgBox img { box-shadow: 0 0 8px 0px #d5d5d5; } .content { font-size: 15px; margin-top: 8px; height: 0; overflow: hidden; transition: all .3s; will-change: height; } .content img { width: 100%; margin: 0 0 10px 0; } .item.active .iconAngel { transform: rotate(0deg); } .item.active .content { height: auto; } .contrast { width: 100%; padding-bottom: 30px; overflow: hidden; } .contrast .title { font-weight: bold; font-size: 20px; color: #000000; margin-top: 53px; } .mainBox { margin-top: 30px; display: flex; position: relative; width: 100%; overflow-x: scroll; } .leftBox { display: flex; position: sticky; left: 0; z-index: 4; } .itemBox .inBox { width: 270px; height: 345px; display: flex; flex-direction: column; align-items: center; background-color: #fff; } .itemBox.border { border: 1px solid #000; } .itemBox.center .bottomContent div { justify-content: center; } .imgBox { width: 215px; height: 209px; img { margin: 0!important; } } .pTitle { margin-top: 40px; font-weight: bold; font-size: 14px; color: #000000; } .pBtn { width: 90px; height: 31px; margin-top: 3px; background: #7B189F; border-radius: 5px; font-weight: 400; font-size: 12px; color: #FFFFFF!important; display: flex; align-items: center; justify-content: center; text-decoration: none!important; } .bottomContent div { height: 52px; background: #F0F0F0; display: flex; align-items: center; padding: 0 20px; /* font-family: OpenSans; */ font-weight: 400; font-size: 14px; color: #000000; } .bottomContent div.deep { background: #DADADA; } .rightBox { display: flex; } @media screen and (max-width: 768px) { .contrast { padding: 0; } .leftBox { width: 50%; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5); } .content .boxp{ text-align: justify; } .content p { text-align: justify; } .productSizeImgBox .mobile-image-container { display: flex; } .itemBox { flex-shrink: 0; width: 100%; } .itemBox .inBox { width: 100%; height: 210px; background-color: transparent; } .leftBox .itemBox:nth-child(1) { position: absolute; background: transparent; left: 0; top: 0; } .leftBox .itemBox:nth-child(1) .bottomContent > div { background-color: transparent; align-items: start; font-weight: bold; padding-top: 0px; height: 43px; } .imgBox { width: 100%; height: 145px; } .imgBox img { margin: 0 auto !important; height: 100%; } .pBtn { height: 25px; } .pTitle { margin-top: initial; padding: 0 5px; text-align: center; line-height: normal; } .bottomContent div { height: 30px; background: #F0F0F0; padding: 13px 5px 4px 5px; /* font-family: OpenSans; */ font-weight: 400; font-size: 12px; color: #000000; box-sizing: content-box !important; line-height: normal; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: break-word; } .rightBox { display: flex; overflow: scroll; width: 50%; } } @media screen and (min-width: 768px) { .productSizeImgBox .image-container { display: flex; } .tableCustom td:first-child, .tableCustom th:first-child { position: sticky; left: 0px; z-index: 2; background-color: #FFFFFF; } } @media only screen and (max-width: 600px) { .image-container { display: none; } .mobile-image-container { margin: 0; padding: 0; list-style-type: none; margin-left: 0 !important; padding: 0 !important; } .mobile-image-container li { width: 100%; margin-bottom: 20px; } .mobile-image-container img { width: 100%; height: auto; } } @media only screen and (min-width: 601px) { .mobile-image-container { display: none; } } .swiperTitle { font-size: 24px; font-weight: bold; text-align: center } .carousel-section { width: 100%; max-width: 1464px; margin: 30px auto; position: relative; } .carousel-container { position: relative; overflow: hidden; } .carousel-track { display: flex; transition: transform 0.5s ease-in-out; } .carousel-img { min-width: 100%; object-fit: cover; } .desktop-carousel .carousel-img { max-height: 600px; } .mobile-carousel .mobile-img { width: 100%; height: auto; } .carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); background-color: rgba(0, 0, 0, 0.4); color: #fff; border: none; font-size: 2rem; padding: 10px; cursor: pointer; z-index: 10; } .carousel-btn.left { left: 10px; } .carousel-btn.right { right: 10px; } .carousel-topbar { position: absolute; top: 0; left: 0; width: 100%; box-sizing: border-box; background: rgba(0, 0, 0, 0.88); z-index: 3; padding: 8px 12px; } .carousel-topbar-inner { display: flex; align-items: center; justify-content: center; gap: 75px; max-width: 100%; overflow-y: hidden; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; flex-wrap: nowrap; white-space: nowrap; cursor: grab; } .carousel-topbar-inner::-webkit-scrollbar { display: none; } .carousel-topbar-inner.dragging { cursor: grabbing; user-select: none; } .carousel-tab { flex: 0 0 auto; color: rgba(255, 255, 255, 0.78); background: transparent; border: none; font-size: 18px; line-height: 1.2; padding: 12px 2px; cursor: pointer; position: relative; white-space: nowrap; } .carousel-tab:focus { outline: none; } .carousel-tab.active { color: #fff; font-weight: 600; } .carousel-tab.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 3px; margin: 0 auto; width: 80%; height: 2px; background: #fff; } .video video { width: 100%; } @media only screen and (max-width: 600px) { .desktop-carousel { display: none; } .carousel-topbar-inner { gap: 16px; } .carousel-tab { font-size: 13px; } .carousel-topbar-inner { justify-content: flex-start; } .topbarCenter .carousel-topbar-inner { justify-content: center; } } @media only screen and (min-width: 601px) { .mobile-carousel { display: none; } } .tableCustom { width: 100%; border-collapse: collapse; border: 1px solid black; } .tableCustom td, .tableCustom th { padding: 12px 15px; text-align: left; border-bottom: 1px solid #e0e0e0; border-right: 1px solid #e0e0e0; } .tableCustom td:last-child, .tableCustom th:last-child { border-right: none; } .tableCustom tr:last-child td { border-bottom: none; } .tableCustom th { background-color: #f8f9fa; font-weight: 600; color: #333; } .footerTable { text-align: left; margin-bottom: 30px; } .footerTable .table-wrapper { white-space: initial; } .footerTable .tableBox { margin-top: 0; } .footerTable .a-text-bold { font-weight: bold; } .footerTable .tableBigTitle { font-size: 24px; font-weight: bold; margin: 20px 0; text-align: center } .footerTable .tableBox { border-bottom: 1px solid #d5d9d9; width: 100%; } .footerTable th { width: 30%; } .footerTable td, .footerTable th { padding: 8px 16px 8px 0!important; vertical-align: top; border-top: 1px solid #d5d9d9; } document.getElementById('topBtn').addEventListener('click', scrollToTop); function scrollToTop() { window.scrollTo({ top: 0, behavior: 'smooth' }); } console.log(123) let item = document.querySelectorAll('.item'); let itemTitle = document.querySelectorAll('.itemTitle'); for (let i = 0; i < item.length; i++) { itemTitle[i].addEventListener('click', function() { if (item[i].className.includes('active')) { item[i].className = 'item'; } else { item[i].className = 'item active'; } }) } document.addEventListener("DOMContentLoaded", function () { const containers = findCarouselContainers(); const instances = containers.map((el) => new Carousel(el)); instances.forEach((ins) => ins.init()); window.addEventListener("resize", function () { instances.forEach((ins) => ins.rebind()); }); }); function findCarouselContainers() { const explicit = Array.from( document.querySelectorAll(".carousel-container") ); if (explicit.length) return explicit; const tracks = Array.from( document.querySelectorAll(".desktop-carousel, .mobile-carousel") ); const set = new Set(); tracks.forEach((t) => { if (t.parentElement) set.add(t.parentElement); }); return Array.from(set); } class Carousel { constructor(container) { this.container = container; this.leftBtn = container.querySelector(".carousel-btn.left"); this.rightBtn = container.querySelector(".carousel-btn.right"); this.desktopTrack = container.querySelector(".desktop-carousel"); this.mobileTrack = container.querySelector(".mobile-carousel"); this.currentSlide = 0; this.currentTrack = null; this.slides = []; this.autoPlayInterval = null; this.topbarEl = null; this.topbarInnerEl = null; this.labels = []; } enableDragScroll() { const el = this.topbarInnerEl; if (!el) return; let isDown = false; let startX = 0; let startScroll = 0; let moved = false; const getX = (e) => (e.touches ? e.touches[0].pageX : e.pageX); const onDown = (e) => { isDown = true; moved = false; el.classList.add("dragging"); startX = getX(e); startScroll = el.scrollLeft; }; const onMove = (e) => { if (!isDown) return; const x = getX(e); const dx = x - startX; if (Math.abs(dx) > 3) moved = true; el.scrollLeft = startScroll - dx; }; const onUp = () => { isDown = false; el.classList.remove("dragging"); setTimeout(() => { moved = false; }, 0); }; el.addEventListener("mousedown", onDown); el.addEventListener("mousemove", onMove); el.addEventListener("mouseup", onUp); el.addEventListener("mouseleave", onUp); el.addEventListener("touchstart", onDown, { passive: true, }); el.addEventListener("touchmove", onMove, { passive: true, }); el.addEventListener("touchend", onUp); this.preventClickWhenDrag = (btn) => { btn.addEventListener( "click", (evt) => { if (moved) evt.preventDefault(); }, true ); }; } getActiveTrack() { const desktopVisible = this.desktopTrack && window.getComputedStyle(this.desktopTrack).display !== "none"; return desktopVisible ? this.desktopTrack : this.mobileTrack; } ensureTopbar() { if (!this.currentTrack) return; const isNewCustom = this.container.classList.contains("newCustom"); if (!isNewCustom) return; const parent = this.container; const pos = window.getComputedStyle(parent).position; if (pos === "static") parent.style.position = "relative"; this.topbarEl = parent.querySelector(".carousel-topbar"); if (!this.topbarEl) { this.topbarEl = document.createElement("div"); this.topbarEl.className = "carousel-topbar"; this.topbarInnerEl = document.createElement("div"); this.topbarInnerEl.className = "carousel-topbar-inner"; this.topbarEl.appendChild(this.topbarInnerEl); parent.insertBefore(this.topbarEl, this.currentTrack); } else { this.topbarInnerEl = this.topbarEl.querySelector( ".carousel-topbar-inner" ); this.topbarInnerEl.innerHTML = ""; } } parseContainerLabelsAttr() { const raw = this.container.getAttribute("data-labels"); if (!raw) return null; try { const json = JSON.parse(raw); if (Array.isArray(json)) return json; } catch (e) { } return raw .split("|") .map((s) => s.trim()) .filter(Boolean); } buildLabels() { const fromContainer = this.parseContainerLabelsAttr(); if (fromContainer && fromContainer.length) { this.labels = fromContainer.slice(); return; } this.labels = Array.from(this.slides).map((img, i) => { return img.dataset.label || img.alt || `第${i + 1}张`; }); } buildTabs() { if (!this.topbarInnerEl) return; this.topbarInnerEl.innerHTML = ""; this.labels.forEach((text, idx) => { const btn = document.createElement("button"); btn.type = "button"; btn.className = "carousel-tab" + (idx === this.currentSlide ? " active" : ""); btn.textContent = text; btn.setAttribute("data-index", String(idx)); btn.addEventListener("click", () => { if (!this.slides.length) return; this.currentSlide = idx; this.update(true); this.restartAutoPlay(); }); if (typeof this.preventClickWhenDrag === "function") { this.preventClickWhenDrag(btn); } this.topbarInnerEl.appendChild(btn); }); this.enableDragScroll && this.enableDragScroll(); this.adjustParentPadding(); this.keepActiveTabVisible("auto"); } keepActiveTabVisible(behavior = "auto") { if (!this.topbarInnerEl) return; const active = this.topbarInnerEl.querySelector(".carousel-tab.active"); if (!active) return; const margin = 6; requestAnimationFrame(() => { const elRect = this.topbarInnerEl.getBoundingClientRect(); const itemRect = active.getBoundingClientRect(); const leftOverflow = itemRect.left - (elRect.left + margin); const rightOverflow = itemRect.right - (elRect.right - margin); let delta = 0; if (leftOverflow < 0) { delta = leftOverflow; } else if (rightOverflow > 0) { delta = rightOverflow; } if (itemRect.width >= elRect.width) { delta = itemRect.left - elRect.left; } if (delta !== 0) { this.topbarInnerEl.scrollBy({ left: delta, behavior, }); } }); } adjustParentPadding() { if (!this.topbarEl) return; const safeTop = parseFloat( getComputedStyle(document.documentElement).getPropertyValue( "env(safe-area-inset-top)" ) ) || 0; this.container.style.paddingTop = this.topbarEl.offsetHeight + safeTop + "px"; } updateActiveTab() { if (!this.topbarInnerEl) return; const tabs = this.topbarInnerEl.querySelectorAll(".carousel-tab"); tabs.forEach((t, i) => { if (i === this.currentSlide) t.classList.add("active"); else t.classList.remove("active"); }); } update(fromUI = false) { if (this.currentTrack) { this.currentTrack.style.transform = `translateX(-${ this.currentSlide * 100 }%)`; } this.updateActiveTab(); this.adjustParentPadding(); this.keepActiveTabVisible(fromUI ? "smooth" : "auto"); } bindControls() { if (this.leftBtn) { this.leftBtn.addEventListener( "click", (this.onLeftClickBound = () => { if (!this.currentTrack || !this.slides.length) return; this.currentSlide = (this.currentSlide - 1 + this.slides.length) % this.slides.length; this.update(true); this.restartAutoPlay(); }) ); } if (this.rightBtn) { this.rightBtn.addEventListener( "click", (this.onRightClickBound = () => { if (!this.currentTrack || !this.slides.length) return; this.currentSlide = (this.currentSlide + 1) % this.slides.length; this.update(true); this.restartAutoPlay(); }) ); } } startAutoPlay() { this.stopAutoPlay(); if(this.container.dataset.autoplay && this.container.dataset.autoplay === 'false') return this.autoPlayInterval = setInterval(() => { if (!this.currentTrack || this.slides.length === 0) return; this.currentSlide = (this.currentSlide + 1) % this.slides.length; this.update(); }, this.container.dataset.time || 5000); } stopAutoPlay() { if (this.autoPlayInterval) { clearInterval(this.autoPlayInterval); this.autoPlayInterval = null; } } restartAutoPlay() { this.stopAutoPlay(); this.startAutoPlay(); } init() { this.currentTrack = this.getActiveTrack(); this.slides = this.currentTrack ? this.currentTrack.querySelectorAll("img") : []; this.currentSlide = 0; this.ensureTopbar(); this.buildLabels(); this.buildTabs(); this.bindControls(); this.update(); this.startAutoPlay(); } rebind() { this.currentTrack = this.getActiveTrack(); this.slides = this.currentTrack ? this.currentTrack.querySelectorAll("img") : []; this.currentSlide = Math.min( this.currentSlide, Math.max(this.slides.length - 1, 0) ); this.ensureTopbar(); this.buildLabels(); this.buildTabs(); this.update(); this.restartAutoPlay(); } }
$329.00
$229.0030% OFF
OVIOS Office Executive Chair Oversize Cushions Sue...
@media only screen and (max-width: 600px) { .image-container { display: none; } .mobile-image-container { margin: 0; padding: 0; list-style-type: none; margin-left: 0 !important; padding: 0 !important; } .mobile-image-container li { width: 100%; margin-bottom: 20px; } .mobile-image-container img { width: 100%; height: auto; margin: 0px; } } @media only screen and (min-width: 601px) { .mobile-image-container { display: none; } } #collapse .content ul { list-style-type: none; } #collapse .item:first-of-type b, #collapse .item:first-of-type strong { letter-spacing: normal; } PRODUCT OVERVIEW FEATURES [ Luxurious Comfort with Suede Fabric ] This office chair is upholstered in high-quality suede fabric, offering the elegant appearance of leather with a soft, breathable feel. The oversize cushions on both the seat and backrest provide exceptional comfort, making it ideal for long hours of use. [ Fully Adjustable for Personalized Comfort ] Easily adjust the chair's height and tilt to fit your needs. The multi-angle reclining backrest can be locked in your desired position, giving you the flexibility to switch between focused work and relaxation with ease. [ Durable Construction with Sturdy Iron Base ] Built to last, this chair features a strong iron base that ensures stability and can support up to 350 lbs. Its ergonomic design, combined with the robust frame, delivers reliable comfort and long-term durability. [ Stylish and Functional for Any Space ] The sleek design and premium suede fabric make this chair a perfect addition to any office or home workspace. Combining functionality with sophisticated aesthetics, it seamlessly enhances the look of any professional setting. HIGHLIGHTS SHIPPING & RETURN Shipping time & delivery time We usually ship items within 24 - 48 hours after confirmed payment. (in business days) In general, we ship via Fedex, average transit time is about 7 - 10 business days. In rare cases due to unforeseen events, (e.g. extreme weather, unusual spikes, etc.), these shipment processing times may be delayed. Free shipping policy All of our items are FREE SHIPPING in normal cases (within the contiguous United States). You can get the items with no shipping cost. There is no other hidden charges or handling fees. In a few special cases, you need to pay necessary cost of shipment, for example, return, exchange or some area. We ship only within the 48 contiguous United States. We do not ship to Alaska, Hawaii, US protectorates (e.g., Puerto Rico), P.O. boxes, or APO/FPO addresses. About tracking logistics information We’ll send you the delivery time by email. For any further information, please feel free to contact us: [email protected] If you want to change or cancel your order, please check whether the order has already been processed. Once the item leaves our warehouse, it can not be canceled or changed. Keep in mind: 1. Tracking is not available for orders that are in a Processing status 2. Tracking can take up to 72 hours to update after an order is shipped About damaged packages and defective items upon arrival When you receive your item, please check your package and item carefully. If there is something wrong, the following steps are advised: 1. Take pictures reflecting the damage or defect clearly. 2. Then please email us at [email protected] immediately and attach the photos. 3. We will contact you and try our best to find the best solution. 4. Attention please, do not throw away the boxes or packaging materials, otherwise, your request of return or exchange will not be accepted. Additional Information We process orders Monday-Friday (excluding holidays). If you place your order after the cutoff times, we’ll process and ship the order the next business day. We do not deliver on Sundays or holidays. About tracking information stagnation With the surge in demand from shipping companies in the US due to high demand, we are seeing an increase in tracking and scanning issues where shipping companies are picking up shipments from warehouses but the tracking tags are not being scanned correctly when the shipping companies pick them up. Our carriers are working to eliminate tracking issues and delivery delays. SERVICE & WARRANTY Dear customers we guarantee that all items we sell have undergone strict quality control inspections to ensure you have an excellent product experience. At the same time, our warranty policy can make you rest assured to buy furniture products from us. All items sold by OVIOS are covered by the following comprehensive product warranties. 1.Customer Service Our customer service team will respond within 24 hours. We product comes with a one-year warranty. You can contact our exclusive OVIOS customer service team for assistance before and after your purchase. 2.Accepted Return 30 Day Unconditional Refund Guarantee for Unopened & Unused. If you are not satisfied with your purchase, or for whatever reason, You no longer want this product within 30 days after receiving it, you may contact us for a return and refund. Kindly note that in such cases the return shipping fee is the customer's responsibility and is non-refundable. Items MUST be returned in their original packaging, unused and unopened in order to qualify for a product refund. The customers should pay for actual cost of return shipping because of their remorse. But don't need to pay for defective producets return. And there is no restocking fee. These fees need to be settled in U.S. dollars. Note that the returns shipping fee is non-refundable and products must be returned unopened and unused for a refund. If the boxes has been opened, the buyer needs to send a picture and confirm with the seller. Only when the confirmation does not affect the normal use can the return be supported, and the buyer needs to afford a certain amount of goods loss charge. Please ensure to return the item with its original packaging and accessories in the same condition as when you received it. 3.Not support the return (1) Return is not accepted when damage is caused by unauthorized maintenance, misusing, collision, negligence, abuse, etc. Returns will not be accepted for OPEN BOX products. (2) Arrived damage If the item you have received is defective or damaged, contact our customer service at the first time and provide us with the order number and the photos or a video of the defective or damaged item in 7 days. In this case, after our checking, we can give a full refund. (3) Missing part If your product parts damaged or missing, we can send the new parts to you or partially refund you. If the part affects product function or use, you can't repair it by yourself or the local technique person, and we will send a new item with you or a full refund. (4) Doesn't work or defective When you received the product that doesn't work, you can ask our customer service for help, we'll give you the related technical reply; if it doesn't work still, you can ask for an refund. When you received the product is defective, and you can ask our customer service to give you technical support or solution, if you can repair it by yourself or local store, we will provide you with some compensation. (5) Incorrect Package Sent If the item you have received differs completely from the one you ordered, please do not hesitate to contact our customer service and to provide us with the following proofs in 7 days: Photos or a video of the incorrect item. We will send the new item to you. 4.Return Confirmation (1) Contact us [email protected] to get a return shipping label. submit order , a clear picture or video, and shipping packaging to confirm your return is accepted. (2) When returning your package, please make sure the item is in good condition with all accessories inside. Affix the return shipping label that we provided to the package, ship it to the address our customer service sent you. 5.Refund and Compensation Process (1) PayPal refunds may take up to 24 hours to process and appear in your account. (2) Credit card refunds will take between 7-14 business days to appear in your account. This delay depends entirely on your credit card company and any intermediaries. Note: The price of the products on our website will fluctuate with the cost, and we will not refund any difference caused by this. @font-face { font-family: 'arial'; src: url('//purpleleafshop.com/cdn/shop/t/172/assets/arial.ttf?v=96637986765718172581767866644') format('truetype'); } .product_desciption_custom { font-family: "arial" !important; } .customTabs { li { position: relative; padding: 0 15px; } li::before { content: ""; width: 1px; height: 50%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); background: #000 } li::after { content: ""; width: 1px; height: 50%; position: absolute; right: 0; top: 50%; transform: translateY(-50%); background: #000 } } .customTop { width: 127px!important; flex-direction: column; right: 10px; bottom: 100px; text-align: right; display: block !important; position: fixed; z-index: 50; cursor: pointer; } .customStickyBtn { z-index: 50; justify-content: space-evenly; background: #fff; /* width: 127px!important; flex-direction: column; right: 10px; bottom: 50px; text-align: right; display: block !important; position: fixed; z-index: 50; */ } .customStickyBtn .customCart, .customStickyBtn .customBuy { width: 35%; /* width: 127px; height: 36px; */ color: #fff !important; background-color: #7c189f !important; padding: 0; font-size: 14px; border-radius: 5px; display: flex; align-items: center; justify-content: center; } .customStickyBtn .customCart img, .customStickyBtn .customBuy img { height: 25px; width: fit-content; margin-right: 5px; } .customDetailBox b,.customDetailBox strong { letter-spacing: 1px; } #collapse { width: 100%; margin: 10px auto; list-style-type: none; color: #000; } .topTitle { font-size: 20px; font-weight: bold; margin-bottom: 20px; letter-spacing: 1px; } .item { padding: 15px 0; position: relative; } .item::after { content: ""; height: 1px; width: 100%; background-color: #000; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); } .itemTitle { font-weight: bold; font-size: 16px; position: relative; display: flex; align-items: center; cursor: pointer; letter-spacing: 1px; } .iconAngel { width: auto!important; margin: 0 0 0 5px !important; transform: rotate(-90deg); transition: all .3s; } .tableCustom { width: max-content!important; margin-right: 1px; border-collapse: separate; } .tableCustom td, .tableCustom th { padding: 20px 32px; text-align: left; } .tableCustom tr { border-top: none!important; } .productSizeImgBox { display: flex; overflow-x: scroll; } .productSizeImgBox img, .productSizeImgBox img { box-shadow: 0 0 8px 0px #d5d5d5; } .content { font-size: 15px; margin-top: 8px; height: 0; overflow: hidden; transition: all .3s; will-change: height; } .content img { width: 100%; margin: 0 0 10px 0; } .item.active .iconAngel { transform: rotate(0deg); } .item.active .content { height: auto; } .contrast { width: 100%; padding-bottom: 30px; overflow: hidden; } .contrast .title { font-weight: bold; font-size: 20px; color: #000000; margin-top: 53px; } .mainBox { margin-top: 30px; display: flex; position: relative; width: 100%; overflow-x: scroll; } .leftBox { display: flex; position: sticky; left: 0; z-index: 4; } .itemBox .inBox { width: 270px; height: 345px; display: flex; flex-direction: column; align-items: center; background-color: #fff; } .itemBox.border { border: 1px solid #000; } .itemBox.center .bottomContent div { justify-content: center; } .imgBox { width: 215px; height: 209px; img { margin: 0!important; } } .pTitle { margin-top: 40px; font-weight: bold; font-size: 14px; color: #000000; } .pBtn { width: 90px; height: 31px; margin-top: 3px; background: #7B189F; border-radius: 5px; font-weight: 400; font-size: 12px; color: #FFFFFF!important; display: flex; align-items: center; justify-content: center; text-decoration: none!important; } .bottomContent div { height: 52px; background: #F0F0F0; display: flex; align-items: center; padding: 0 20px; /* font-family: OpenSans; */ font-weight: 400; font-size: 14px; color: #000000; } .bottomContent div.deep { background: #DADADA; } .rightBox { display: flex; } @media screen and (max-width: 768px) { .contrast { padding: 0; } .leftBox { width: 50%; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5); } .content .boxp{ text-align: justify; } .content p { text-align: justify; } .productSizeImgBox .mobile-image-container { display: flex; } .itemBox { flex-shrink: 0; width: 100%; } .itemBox .inBox { width: 100%; height: 210px; background-color: transparent; } .leftBox .itemBox:nth-child(1) { position: absolute; background: transparent; left: 0; top: 0; } .leftBox .itemBox:nth-child(1) .bottomContent > div { background-color: transparent; align-items: start; font-weight: bold; padding-top: 0px; height: 43px; } .imgBox { width: 100%; height: 145px; } .imgBox img { margin: 0 auto !important; height: 100%; } .pBtn { height: 25px; } .pTitle { margin-top: initial; padding: 0 5px; text-align: center; line-height: normal; } .bottomContent div { height: 30px; background: #F0F0F0; padding: 13px 5px 4px 5px; /* font-family: OpenSans; */ font-weight: 400; font-size: 12px; color: #000000; box-sizing: content-box !important; line-height: normal; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: break-word; } .rightBox { display: flex; overflow: scroll; width: 50%; } } @media screen and (min-width: 768px) { .productSizeImgBox .image-container { display: flex; } .tableCustom td:first-child, .tableCustom th:first-child { position: sticky; left: 0px; z-index: 2; background-color: #FFFFFF; } } @media only screen and (max-width: 600px) { .image-container { display: none; } .mobile-image-container { margin: 0; padding: 0; list-style-type: none; margin-left: 0 !important; padding: 0 !important; } .mobile-image-container li { width: 100%; margin-bottom: 20px; } .mobile-image-container img { width: 100%; height: auto; } } @media only screen and (min-width: 601px) { .mobile-image-container { display: none; } } .swiperTitle { font-size: 24px; font-weight: bold; text-align: center } .carousel-section { width: 100%; max-width: 1464px; margin: 30px auto; position: relative; } .carousel-container { position: relative; overflow: hidden; } .carousel-track { display: flex; transition: transform 0.5s ease-in-out; } .carousel-img { min-width: 100%; object-fit: cover; } .desktop-carousel .carousel-img { max-height: 600px; } .mobile-carousel .mobile-img { width: 100%; height: auto; } .carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); background-color: rgba(0, 0, 0, 0.4); color: #fff; border: none; font-size: 2rem; padding: 10px; cursor: pointer; z-index: 10; } .carousel-btn.left { left: 10px; } .carousel-btn.right { right: 10px; } .carousel-topbar { position: absolute; top: 0; left: 0; width: 100%; box-sizing: border-box; background: rgba(0, 0, 0, 0.88); z-index: 3; padding: 8px 12px; } .carousel-topbar-inner { display: flex; align-items: center; justify-content: center; gap: 75px; max-width: 100%; overflow-y: hidden; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; flex-wrap: nowrap; white-space: nowrap; cursor: grab; } .carousel-topbar-inner::-webkit-scrollbar { display: none; } .carousel-topbar-inner.dragging { cursor: grabbing; user-select: none; } .carousel-tab { flex: 0 0 auto; color: rgba(255, 255, 255, 0.78); background: transparent; border: none; font-size: 18px; line-height: 1.2; padding: 12px 2px; cursor: pointer; position: relative; white-space: nowrap; } .carousel-tab:focus { outline: none; } .carousel-tab.active { color: #fff; font-weight: 600; } .carousel-tab.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 3px; margin: 0 auto; width: 80%; height: 2px; background: #fff; } .video video { width: 100%; } @media only screen and (max-width: 600px) { .desktop-carousel { display: none; } .carousel-topbar-inner { gap: 16px; } .carousel-tab { font-size: 13px; } .carousel-topbar-inner { justify-content: flex-start; } .topbarCenter .carousel-topbar-inner { justify-content: center; } } @media only screen and (min-width: 601px) { .mobile-carousel { display: none; } } .tableCustom { width: 100%; border-collapse: collapse; border: 1px solid black; } .tableCustom td, .tableCustom th { padding: 12px 15px; text-align: left; border-bottom: 1px solid #e0e0e0; border-right: 1px solid #e0e0e0; } .tableCustom td:last-child, .tableCustom th:last-child { border-right: none; } .tableCustom tr:last-child td { border-bottom: none; } .tableCustom th { background-color: #f8f9fa; font-weight: 600; color: #333; } .footerTable { text-align: left; margin-bottom: 30px; } .footerTable .table-wrapper { white-space: initial; } .footerTable .tableBox { margin-top: 0; } .footerTable .a-text-bold { font-weight: bold; } .footerTable .tableBigTitle { font-size: 24px; font-weight: bold; margin: 20px 0; text-align: center } .footerTable .tableBox { border-bottom: 1px solid #d5d9d9; width: 100%; } .footerTable th { width: 30%; } .footerTable td, .footerTable th { padding: 8px 16px 8px 0!important; vertical-align: top; border-top: 1px solid #d5d9d9; } document.getElementById('topBtn').addEventListener('click', scrollToTop); function scrollToTop() { window.scrollTo({ top: 0, behavior: 'smooth' }); } console.log(123) let item = document.querySelectorAll('.item'); let itemTitle = document.querySelectorAll('.itemTitle'); for (let i = 0; i < item.length; i++) { itemTitle[i].addEventListener('click', function() { if (item[i].className.includes('active')) { item[i].className = 'item'; } else { item[i].className = 'item active'; } }) } document.addEventListener("DOMContentLoaded", function () { const containers = findCarouselContainers(); const instances = containers.map((el) => new Carousel(el)); instances.forEach((ins) => ins.init()); window.addEventListener("resize", function () { instances.forEach((ins) => ins.rebind()); }); }); function findCarouselContainers() { const explicit = Array.from( document.querySelectorAll(".carousel-container") ); if (explicit.length) return explicit; const tracks = Array.from( document.querySelectorAll(".desktop-carousel, .mobile-carousel") ); const set = new Set(); tracks.forEach((t) => { if (t.parentElement) set.add(t.parentElement); }); return Array.from(set); } class Carousel { constructor(container) { this.container = container; this.leftBtn = container.querySelector(".carousel-btn.left"); this.rightBtn = container.querySelector(".carousel-btn.right"); this.desktopTrack = container.querySelector(".desktop-carousel"); this.mobileTrack = container.querySelector(".mobile-carousel"); this.currentSlide = 0; this.currentTrack = null; this.slides = []; this.autoPlayInterval = null; this.topbarEl = null; this.topbarInnerEl = null; this.labels = []; } enableDragScroll() { const el = this.topbarInnerEl; if (!el) return; let isDown = false; let startX = 0; let startScroll = 0; let moved = false; const getX = (e) => (e.touches ? e.touches[0].pageX : e.pageX); const onDown = (e) => { isDown = true; moved = false; el.classList.add("dragging"); startX = getX(e); startScroll = el.scrollLeft; }; const onMove = (e) => { if (!isDown) return; const x = getX(e); const dx = x - startX; if (Math.abs(dx) > 3) moved = true; el.scrollLeft = startScroll - dx; }; const onUp = () => { isDown = false; el.classList.remove("dragging"); setTimeout(() => { moved = false; }, 0); }; el.addEventListener("mousedown", onDown); el.addEventListener("mousemove", onMove); el.addEventListener("mouseup", onUp); el.addEventListener("mouseleave", onUp); el.addEventListener("touchstart", onDown, { passive: true, }); el.addEventListener("touchmove", onMove, { passive: true, }); el.addEventListener("touchend", onUp); this.preventClickWhenDrag = (btn) => { btn.addEventListener( "click", (evt) => { if (moved) evt.preventDefault(); }, true ); }; } getActiveTrack() { const desktopVisible = this.desktopTrack && window.getComputedStyle(this.desktopTrack).display !== "none"; return desktopVisible ? this.desktopTrack : this.mobileTrack; } ensureTopbar() { if (!this.currentTrack) return; const isNewCustom = this.container.classList.contains("newCustom"); if (!isNewCustom) return; const parent = this.container; const pos = window.getComputedStyle(parent).position; if (pos === "static") parent.style.position = "relative"; this.topbarEl = parent.querySelector(".carousel-topbar"); if (!this.topbarEl) { this.topbarEl = document.createElement("div"); this.topbarEl.className = "carousel-topbar"; this.topbarInnerEl = document.createElement("div"); this.topbarInnerEl.className = "carousel-topbar-inner"; this.topbarEl.appendChild(this.topbarInnerEl); parent.insertBefore(this.topbarEl, this.currentTrack); } else { this.topbarInnerEl = this.topbarEl.querySelector( ".carousel-topbar-inner" ); this.topbarInnerEl.innerHTML = ""; } } parseContainerLabelsAttr() { const raw = this.container.getAttribute("data-labels"); if (!raw) return null; try { const json = JSON.parse(raw); if (Array.isArray(json)) return json; } catch (e) { } return raw .split("|") .map((s) => s.trim()) .filter(Boolean); } buildLabels() { const fromContainer = this.parseContainerLabelsAttr(); if (fromContainer && fromContainer.length) { this.labels = fromContainer.slice(); return; } this.labels = Array.from(this.slides).map((img, i) => { return img.dataset.label || img.alt || `第${i + 1}张`; }); } buildTabs() { if (!this.topbarInnerEl) return; this.topbarInnerEl.innerHTML = ""; this.labels.forEach((text, idx) => { const btn = document.createElement("button"); btn.type = "button"; btn.className = "carousel-tab" + (idx === this.currentSlide ? " active" : ""); btn.textContent = text; btn.setAttribute("data-index", String(idx)); btn.addEventListener("click", () => { if (!this.slides.length) return; this.currentSlide = idx; this.update(true); this.restartAutoPlay(); }); if (typeof this.preventClickWhenDrag === "function") { this.preventClickWhenDrag(btn); } this.topbarInnerEl.appendChild(btn); }); this.enableDragScroll && this.enableDragScroll(); this.adjustParentPadding(); this.keepActiveTabVisible("auto"); } keepActiveTabVisible(behavior = "auto") { if (!this.topbarInnerEl) return; const active = this.topbarInnerEl.querySelector(".carousel-tab.active"); if (!active) return; const margin = 6; requestAnimationFrame(() => { const elRect = this.topbarInnerEl.getBoundingClientRect(); const itemRect = active.getBoundingClientRect(); const leftOverflow = itemRect.left - (elRect.left + margin); const rightOverflow = itemRect.right - (elRect.right - margin); let delta = 0; if (leftOverflow < 0) { delta = leftOverflow; } else if (rightOverflow > 0) { delta = rightOverflow; } if (itemRect.width >= elRect.width) { delta = itemRect.left - elRect.left; } if (delta !== 0) { this.topbarInnerEl.scrollBy({ left: delta, behavior, }); } }); } adjustParentPadding() { if (!this.topbarEl) return; const safeTop = parseFloat( getComputedStyle(document.documentElement).getPropertyValue( "env(safe-area-inset-top)" ) ) || 0; this.container.style.paddingTop = this.topbarEl.offsetHeight + safeTop + "px"; } updateActiveTab() { if (!this.topbarInnerEl) return; const tabs = this.topbarInnerEl.querySelectorAll(".carousel-tab"); tabs.forEach((t, i) => { if (i === this.currentSlide) t.classList.add("active"); else t.classList.remove("active"); }); } update(fromUI = false) { if (this.currentTrack) { this.currentTrack.style.transform = `translateX(-${ this.currentSlide * 100 }%)`; } this.updateActiveTab(); this.adjustParentPadding(); this.keepActiveTabVisible(fromUI ? "smooth" : "auto"); } bindControls() { if (this.leftBtn) { this.leftBtn.addEventListener( "click", (this.onLeftClickBound = () => { if (!this.currentTrack || !this.slides.length) return; this.currentSlide = (this.currentSlide - 1 + this.slides.length) % this.slides.length; this.update(true); this.restartAutoPlay(); }) ); } if (this.rightBtn) { this.rightBtn.addEventListener( "click", (this.onRightClickBound = () => { if (!this.currentTrack || !this.slides.length) return; this.currentSlide = (this.currentSlide + 1) % this.slides.length; this.update(true); this.restartAutoPlay(); }) ); } } startAutoPlay() { this.stopAutoPlay(); if(this.container.dataset.autoplay && this.container.dataset.autoplay === 'false') return this.autoPlayInterval = setInterval(() => { if (!this.currentTrack || this.slides.length === 0) return; this.currentSlide = (this.currentSlide + 1) % this.slides.length; this.update(); }, this.container.dataset.time || 5000); } stopAutoPlay() { if (this.autoPlayInterval) { clearInterval(this.autoPlayInterval); this.autoPlayInterval = null; } } restartAutoPlay() { this.stopAutoPlay(); this.startAutoPlay(); } init() { this.currentTrack = this.getActiveTrack(); this.slides = this.currentTrack ? this.currentTrack.querySelectorAll("img") : []; this.currentSlide = 0; this.ensureTopbar(); this.buildLabels(); this.buildTabs(); this.bindControls(); this.update(); this.startAutoPlay(); } rebind() { this.currentTrack = this.getActiveTrack(); this.slides = this.currentTrack ? this.currentTrack.querySelectorAll("img") : []; this.currentSlide = Math.min( this.currentSlide, Math.max(this.slides.length - 1, 0) ); this.ensureTopbar(); this.buildLabels(); this.buildTabs(); this.update(); this.restartAutoPlay(); } }
$329.00
$229.0030% OFF
Ovios Office Executive Chair Oversize Cushions PU ...
@media only screen and (max-width: 600px) { .image-container { display: none; } .mobile-image-container { margin: 0; padding: 0; list-style-type: none; margin-left: 0 !important; padding: 0 !important; } .mobile-image-container li { width: 100%; margin-bottom: 20px; } .mobile-image-container img { width: 100%; height: auto; margin: 0px; } } @media only screen and (min-width: 601px) { .mobile-image-container { display: none; } } #collapse .content ul { list-style-type: none; } #collapse .item:first-of-type b, #collapse .item:first-of-type strong { letter-spacing: normal; } PRODUCT OVERVIEW FEATURES [ Premium Comfort with Water-Resistant PU Leather ] This office chair is upholstered in high-quality PU leather, offering a sleek, leather-like look with added practicality. The water- and oil-resistant material makes it easy to clean and maintain, ensuring long-lasting use. [ Adjustable for Your Comfort ] Designed with your comfort in mind, the chair offers adjustable height and a tilt mechanism that allows you to recline and lock the backrest at various angles. Whether for work or relaxation, this chair adapts to your needs. [ Sturdy Iron Base for Enhanced Stability ] Constructed with a durable iron base, this chair provides reliable support for up to 350 lbs. The combination of ergonomic design and robust materials ensures lasting comfort and stability, even with frequent use. [ Modern Design for Versatile Spaces ] Featuring a professional and modern look, the chair’s sleek PU leather finish and solid construction make it a perfect fit for both home offices and corporate environments. It blends style with functionality to elevate any workspace. HIGHLIGHTS SHIPPING & RETURN Shipping time & delivery time We usually ship items within 24 - 48 hours after confirmed payment. (in business days) In general, we ship via Fedex, average transit time is about 7 - 10 business days. In rare cases due to unforeseen events, (e.g. extreme weather, unusual spikes, etc.), these shipment processing times may be delayed. Free shipping policy All of our items are FREE SHIPPING in normal cases (within the contiguous United States). You can get the items with no shipping cost. There is no other hidden charges or handling fees. In a few special cases, you need to pay necessary cost of shipment, for example, return, exchange or some area. We ship only within the 48 contiguous United States. We do not ship to Alaska, Hawaii, US protectorates (e.g., Puerto Rico), P.O. boxes, or APO/FPO addresses. About tracking logistics information We’ll send you the delivery time by email. For any further information, please feel free to contact us: [email protected] If you want to change or cancel your order, please check whether the order has already been processed. Once the item leaves our warehouse, it can not be canceled or changed. Keep in mind: 1. Tracking is not available for orders that are in a Processing status 2. Tracking can take up to 72 hours to update after an order is shipped About damaged packages and defective items upon arrival When you receive your item, please check your package and item carefully. If there is something wrong, the following steps are advised: 1. Take pictures reflecting the damage or defect clearly. 2. Then please email us at [email protected] immediately and attach the photos. 3. We will contact you and try our best to find the best solution. 4. Attention please, do not throw away the boxes or packaging materials, otherwise, your request of return or exchange will not be accepted. Additional Information We process orders Monday-Friday (excluding holidays). If you place your order after the cutoff times, we’ll process and ship the order the next business day. We do not deliver on Sundays or holidays. About tracking information stagnation With the surge in demand from shipping companies in the US due to high demand, we are seeing an increase in tracking and scanning issues where shipping companies are picking up shipments from warehouses but the tracking tags are not being scanned correctly when the shipping companies pick them up. Our carriers are working to eliminate tracking issues and delivery delays. SERVICE & WARRANTY Dear customers we guarantee that all items we sell have undergone strict quality control inspections to ensure you have an excellent product experience. At the same time, our warranty policy can make you rest assured to buy furniture products from us. All items sold by OVIOS are covered by the following comprehensive product warranties. 1.Customer Service Our customer service team will respond within 24 hours. We product comes with a one-year warranty. You can contact our exclusive OVIOS customer service team for assistance before and after your purchase. 2.Accepted Return 30 Day Unconditional Refund Guarantee for Unopened & Unused. If you are not satisfied with your purchase, or for whatever reason, You no longer want this product within 30 days after receiving it, you may contact us for a return and refund. Kindly note that in such cases the return shipping fee is the customer's responsibility and is non-refundable. Items MUST be returned in their original packaging, unused and unopened in order to qualify for a product refund. The customers should pay for actual cost of return shipping because of their remorse. But don't need to pay for defective producets return. And there is no restocking fee. These fees need to be settled in U.S. dollars. Note that the returns shipping fee is non-refundable and products must be returned unopened and unused for a refund. If the boxes has been opened, the buyer needs to send a picture and confirm with the seller. Only when the confirmation does not affect the normal use can the return be supported, and the buyer needs to afford a certain amount of goods loss charge. Please ensure to return the item with its original packaging and accessories in the same condition as when you received it. 3.Not support the return (1) Return is not accepted when damage is caused by unauthorized maintenance, misusing, collision, negligence, abuse, etc. Returns will not be accepted for OPEN BOX products. (2) Arrived damage If the item you have received is defective or damaged, contact our customer service at the first time and provide us with the order number and the photos or a video of the defective or damaged item in 7 days. In this case, after our checking, we can give a full refund. (3) Missing part If your product parts damaged or missing, we can send the new parts to you or partially refund you. If the part affects product function or use, you can't repair it by yourself or the local technique person, and we will send a new item with you or a full refund. (4) Doesn't work or defective When you received the product that doesn't work, you can ask our customer service for help, we'll give you the related technical reply; if it doesn't work still, you can ask for an refund. When you received the product is defective, and you can ask our customer service to give you technical support or solution, if you can repair it by yourself or local store, we will provide you with some compensation. (5) Incorrect Package Sent If the item you have received differs completely from the one you ordered, please do not hesitate to contact our customer service and to provide us with the following proofs in 7 days: Photos or a video of the incorrect item. We will send the new item to you. 4.Return Confirmation (1) Contact us [email protected] to get a return shipping label. submit order , a clear picture or video, and shipping packaging to confirm your return is accepted. (2) When returning your package, please make sure the item is in good condition with all accessories inside. Affix the return shipping label that we provided to the package, ship it to the address our customer service sent you. 5.Refund and Compensation Process (1) PayPal refunds may take up to 24 hours to process and appear in your account. (2) Credit card refunds will take between 7-14 business days to appear in your account. This delay depends entirely on your credit card company and any intermediaries. Note: The price of the products on our website will fluctuate with the cost, and we will not refund any difference caused by this. @font-face { font-family: 'arial'; src: url('//purpleleafshop.com/cdn/shop/t/172/assets/arial.ttf?v=96637986765718172581767866644') format('truetype'); } .product_desciption_custom { font-family: "arial" !important; } .customTabs { li { position: relative; padding: 0 15px; } li::before { content: ""; width: 1px; height: 50%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); background: #000 } li::after { content: ""; width: 1px; height: 50%; position: absolute; right: 0; top: 50%; transform: translateY(-50%); background: #000 } } .customTop { width: 127px!important; flex-direction: column; right: 10px; bottom: 100px; text-align: right; display: block !important; position: fixed; z-index: 50; cursor: pointer; } .customStickyBtn { z-index: 50; justify-content: space-evenly; background: #fff; /* width: 127px!important; flex-direction: column; right: 10px; bottom: 50px; text-align: right; display: block !important; position: fixed; z-index: 50; */ } .customStickyBtn .customCart, .customStickyBtn .customBuy { width: 35%; /* width: 127px; height: 36px; */ color: #fff !important; background-color: #7c189f !important; padding: 0; font-size: 14px; border-radius: 5px; display: flex; align-items: center; justify-content: center; } .customStickyBtn .customCart img, .customStickyBtn .customBuy img { height: 25px; width: fit-content; margin-right: 5px; } .customDetailBox b,.customDetailBox strong { letter-spacing: 1px; } #collapse { width: 100%; margin: 10px auto; list-style-type: none; color: #000; } .topTitle { font-size: 20px; font-weight: bold; margin-bottom: 20px; letter-spacing: 1px; } .item { padding: 15px 0; position: relative; } .item::after { content: ""; height: 1px; width: 100%; background-color: #000; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); } .itemTitle { font-weight: bold; font-size: 16px; position: relative; display: flex; align-items: center; cursor: pointer; letter-spacing: 1px; } .iconAngel { width: auto!important; margin: 0 0 0 5px !important; transform: rotate(-90deg); transition: all .3s; } .tableCustom { width: max-content!important; margin-right: 1px; border-collapse: separate; } .tableCustom td, .tableCustom th { padding: 20px 32px; text-align: left; } .tableCustom tr { border-top: none!important; } .productSizeImgBox { display: flex; overflow-x: scroll; } .productSizeImgBox img, .productSizeImgBox img { box-shadow: 0 0 8px 0px #d5d5d5; } .content { font-size: 15px; margin-top: 8px; height: 0; overflow: hidden; transition: all .3s; will-change: height; } .content img { width: 100%; margin: 0 0 10px 0; } .item.active .iconAngel { transform: rotate(0deg); } .item.active .content { height: auto; } .contrast { width: 100%; padding-bottom: 30px; overflow: hidden; } .contrast .title { font-weight: bold; font-size: 20px; color: #000000; margin-top: 53px; } .mainBox { margin-top: 30px; display: flex; position: relative; width: 100%; overflow-x: scroll; } .leftBox { display: flex; position: sticky; left: 0; z-index: 4; } .itemBox .inBox { width: 270px; height: 345px; display: flex; flex-direction: column; align-items: center; background-color: #fff; } .itemBox.border { border: 1px solid #000; } .itemBox.center .bottomContent div { justify-content: center; } .imgBox { width: 215px; height: 209px; img { margin: 0!important; } } .pTitle { margin-top: 40px; font-weight: bold; font-size: 14px; color: #000000; } .pBtn { width: 90px; height: 31px; margin-top: 3px; background: #7B189F; border-radius: 5px; font-weight: 400; font-size: 12px; color: #FFFFFF!important; display: flex; align-items: center; justify-content: center; text-decoration: none!important; } .bottomContent div { height: 52px; background: #F0F0F0; display: flex; align-items: center; padding: 0 20px; /* font-family: OpenSans; */ font-weight: 400; font-size: 14px; color: #000000; } .bottomContent div.deep { background: #DADADA; } .rightBox { display: flex; } @media screen and (max-width: 768px) { .contrast { padding: 0; } .leftBox { width: 50%; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5); } .content .boxp{ text-align: justify; } .content p { text-align: justify; } .productSizeImgBox .mobile-image-container { display: flex; } .itemBox { flex-shrink: 0; width: 100%; } .itemBox .inBox { width: 100%; height: 210px; background-color: transparent; } .leftBox .itemBox:nth-child(1) { position: absolute; background: transparent; left: 0; top: 0; } .leftBox .itemBox:nth-child(1) .bottomContent > div { background-color: transparent; align-items: start; font-weight: bold; padding-top: 0px; height: 43px; } .imgBox { width: 100%; height: 145px; } .imgBox img { margin: 0 auto !important; height: 100%; } .pBtn { height: 25px; } .pTitle { margin-top: initial; padding: 0 5px; text-align: center; line-height: normal; } .bottomContent div { height: 30px; background: #F0F0F0; padding: 13px 5px 4px 5px; /* font-family: OpenSans; */ font-weight: 400; font-size: 12px; color: #000000; box-sizing: content-box !important; line-height: normal; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: break-word; } .rightBox { display: flex; overflow: scroll; width: 50%; } } @media screen and (min-width: 768px) { .productSizeImgBox .image-container { display: flex; } .tableCustom td:first-child, .tableCustom th:first-child { position: sticky; left: 0px; z-index: 2; background-color: #FFFFFF; } } @media only screen and (max-width: 600px) { .image-container { display: none; } .mobile-image-container { margin: 0; padding: 0; list-style-type: none; margin-left: 0 !important; padding: 0 !important; } .mobile-image-container li { width: 100%; margin-bottom: 20px; } .mobile-image-container img { width: 100%; height: auto; } } @media only screen and (min-width: 601px) { .mobile-image-container { display: none; } } .swiperTitle { font-size: 24px; font-weight: bold; text-align: center } .carousel-section { width: 100%; max-width: 1464px; margin: 30px auto; position: relative; } .carousel-container { position: relative; overflow: hidden; } .carousel-track { display: flex; transition: transform 0.5s ease-in-out; } .carousel-img { min-width: 100%; object-fit: cover; } .desktop-carousel .carousel-img { max-height: 600px; } .mobile-carousel .mobile-img { width: 100%; height: auto; } .carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); background-color: rgba(0, 0, 0, 0.4); color: #fff; border: none; font-size: 2rem; padding: 10px; cursor: pointer; z-index: 10; } .carousel-btn.left { left: 10px; } .carousel-btn.right { right: 10px; } .carousel-topbar { position: absolute; top: 0; left: 0; width: 100%; box-sizing: border-box; background: rgba(0, 0, 0, 0.88); z-index: 3; padding: 8px 12px; } .carousel-topbar-inner { display: flex; align-items: center; justify-content: center; gap: 75px; max-width: 100%; overflow-y: hidden; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; flex-wrap: nowrap; white-space: nowrap; cursor: grab; } .carousel-topbar-inner::-webkit-scrollbar { display: none; } .carousel-topbar-inner.dragging { cursor: grabbing; user-select: none; } .carousel-tab { flex: 0 0 auto; color: rgba(255, 255, 255, 0.78); background: transparent; border: none; font-size: 18px; line-height: 1.2; padding: 12px 2px; cursor: pointer; position: relative; white-space: nowrap; } .carousel-tab:focus { outline: none; } .carousel-tab.active { color: #fff; font-weight: 600; } .carousel-tab.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 3px; margin: 0 auto; width: 80%; height: 2px; background: #fff; } .video video { width: 100%; } @media only screen and (max-width: 600px) { .desktop-carousel { display: none; } .carousel-topbar-inner { gap: 16px; } .carousel-tab { font-size: 13px; } .carousel-topbar-inner { justify-content: flex-start; } .topbarCenter .carousel-topbar-inner { justify-content: center; } } @media only screen and (min-width: 601px) { .mobile-carousel { display: none; } } .tableCustom { width: 100%; border-collapse: collapse; border: 1px solid black; } .tableCustom td, .tableCustom th { padding: 12px 15px; text-align: left; border-bottom: 1px solid #e0e0e0; border-right: 1px solid #e0e0e0; } .tableCustom td:last-child, .tableCustom th:last-child { border-right: none; } .tableCustom tr:last-child td { border-bottom: none; } .tableCustom th { background-color: #f8f9fa; font-weight: 600; color: #333; } .footerTable { text-align: left; margin-bottom: 30px; } .footerTable .table-wrapper { white-space: initial; } .footerTable .tableBox { margin-top: 0; } .footerTable .a-text-bold { font-weight: bold; } .footerTable .tableBigTitle { font-size: 24px; font-weight: bold; margin: 20px 0; text-align: center } .footerTable .tableBox { border-bottom: 1px solid #d5d9d9; width: 100%; } .footerTable th { width: 30%; } .footerTable td, .footerTable th { padding: 8px 16px 8px 0!important; vertical-align: top; border-top: 1px solid #d5d9d9; } document.getElementById('topBtn').addEventListener('click', scrollToTop); function scrollToTop() { window.scrollTo({ top: 0, behavior: 'smooth' }); } console.log(123) let item = document.querySelectorAll('.item'); let itemTitle = document.querySelectorAll('.itemTitle'); for (let i = 0; i < item.length; i++) { itemTitle[i].addEventListener('click', function() { if (item[i].className.includes('active')) { item[i].className = 'item'; } else { item[i].className = 'item active'; } }) } document.addEventListener("DOMContentLoaded", function () { const containers = findCarouselContainers(); const instances = containers.map((el) => new Carousel(el)); instances.forEach((ins) => ins.init()); window.addEventListener("resize", function () { instances.forEach((ins) => ins.rebind()); }); }); function findCarouselContainers() { const explicit = Array.from( document.querySelectorAll(".carousel-container") ); if (explicit.length) return explicit; const tracks = Array.from( document.querySelectorAll(".desktop-carousel, .mobile-carousel") ); const set = new Set(); tracks.forEach((t) => { if (t.parentElement) set.add(t.parentElement); }); return Array.from(set); } class Carousel { constructor(container) { this.container = container; this.leftBtn = container.querySelector(".carousel-btn.left"); this.rightBtn = container.querySelector(".carousel-btn.right"); this.desktopTrack = container.querySelector(".desktop-carousel"); this.mobileTrack = container.querySelector(".mobile-carousel"); this.currentSlide = 0; this.currentTrack = null; this.slides = []; this.autoPlayInterval = null; this.topbarEl = null; this.topbarInnerEl = null; this.labels = []; } enableDragScroll() { const el = this.topbarInnerEl; if (!el) return; let isDown = false; let startX = 0; let startScroll = 0; let moved = false; const getX = (e) => (e.touches ? e.touches[0].pageX : e.pageX); const onDown = (e) => { isDown = true; moved = false; el.classList.add("dragging"); startX = getX(e); startScroll = el.scrollLeft; }; const onMove = (e) => { if (!isDown) return; const x = getX(e); const dx = x - startX; if (Math.abs(dx) > 3) moved = true; el.scrollLeft = startScroll - dx; }; const onUp = () => { isDown = false; el.classList.remove("dragging"); setTimeout(() => { moved = false; }, 0); }; el.addEventListener("mousedown", onDown); el.addEventListener("mousemove", onMove); el.addEventListener("mouseup", onUp); el.addEventListener("mouseleave", onUp); el.addEventListener("touchstart", onDown, { passive: true, }); el.addEventListener("touchmove", onMove, { passive: true, }); el.addEventListener("touchend", onUp); this.preventClickWhenDrag = (btn) => { btn.addEventListener( "click", (evt) => { if (moved) evt.preventDefault(); }, true ); }; } getActiveTrack() { const desktopVisible = this.desktopTrack && window.getComputedStyle(this.desktopTrack).display !== "none"; return desktopVisible ? this.desktopTrack : this.mobileTrack; } ensureTopbar() { if (!this.currentTrack) return; const isNewCustom = this.container.classList.contains("newCustom"); if (!isNewCustom) return; const parent = this.container; const pos = window.getComputedStyle(parent).position; if (pos === "static") parent.style.position = "relative"; this.topbarEl = parent.querySelector(".carousel-topbar"); if (!this.topbarEl) { this.topbarEl = document.createElement("div"); this.topbarEl.className = "carousel-topbar"; this.topbarInnerEl = document.createElement("div"); this.topbarInnerEl.className = "carousel-topbar-inner"; this.topbarEl.appendChild(this.topbarInnerEl); parent.insertBefore(this.topbarEl, this.currentTrack); } else { this.topbarInnerEl = this.topbarEl.querySelector( ".carousel-topbar-inner" ); this.topbarInnerEl.innerHTML = ""; } } parseContainerLabelsAttr() { const raw = this.container.getAttribute("data-labels"); if (!raw) return null; try { const json = JSON.parse(raw); if (Array.isArray(json)) return json; } catch (e) { } return raw .split("|") .map((s) => s.trim()) .filter(Boolean); } buildLabels() { const fromContainer = this.parseContainerLabelsAttr(); if (fromContainer && fromContainer.length) { this.labels = fromContainer.slice(); return; } this.labels = Array.from(this.slides).map((img, i) => { return img.dataset.label || img.alt || `第${i + 1}张`; }); } buildTabs() { if (!this.topbarInnerEl) return; this.topbarInnerEl.innerHTML = ""; this.labels.forEach((text, idx) => { const btn = document.createElement("button"); btn.type = "button"; btn.className = "carousel-tab" + (idx === this.currentSlide ? " active" : ""); btn.textContent = text; btn.setAttribute("data-index", String(idx)); btn.addEventListener("click", () => { if (!this.slides.length) return; this.currentSlide = idx; this.update(true); this.restartAutoPlay(); }); if (typeof this.preventClickWhenDrag === "function") { this.preventClickWhenDrag(btn); } this.topbarInnerEl.appendChild(btn); }); this.enableDragScroll && this.enableDragScroll(); this.adjustParentPadding(); this.keepActiveTabVisible("auto"); } keepActiveTabVisible(behavior = "auto") { if (!this.topbarInnerEl) return; const active = this.topbarInnerEl.querySelector(".carousel-tab.active"); if (!active) return; const margin = 6; requestAnimationFrame(() => { const elRect = this.topbarInnerEl.getBoundingClientRect(); const itemRect = active.getBoundingClientRect(); const leftOverflow = itemRect.left - (elRect.left + margin); const rightOverflow = itemRect.right - (elRect.right - margin); let delta = 0; if (leftOverflow < 0) { delta = leftOverflow; } else if (rightOverflow > 0) { delta = rightOverflow; } if (itemRect.width >= elRect.width) { delta = itemRect.left - elRect.left; } if (delta !== 0) { this.topbarInnerEl.scrollBy({ left: delta, behavior, }); } }); } adjustParentPadding() { if (!this.topbarEl) return; const safeTop = parseFloat( getComputedStyle(document.documentElement).getPropertyValue( "env(safe-area-inset-top)" ) ) || 0; this.container.style.paddingTop = this.topbarEl.offsetHeight + safeTop + "px"; } updateActiveTab() { if (!this.topbarInnerEl) return; const tabs = this.topbarInnerEl.querySelectorAll(".carousel-tab"); tabs.forEach((t, i) => { if (i === this.currentSlide) t.classList.add("active"); else t.classList.remove("active"); }); } update(fromUI = false) { if (this.currentTrack) { this.currentTrack.style.transform = `translateX(-${ this.currentSlide * 100 }%)`; } this.updateActiveTab(); this.adjustParentPadding(); this.keepActiveTabVisible(fromUI ? "smooth" : "auto"); } bindControls() { if (this.leftBtn) { this.leftBtn.addEventListener( "click", (this.onLeftClickBound = () => { if (!this.currentTrack || !this.slides.length) return; this.currentSlide = (this.currentSlide - 1 + this.slides.length) % this.slides.length; this.update(true); this.restartAutoPlay(); }) ); } if (this.rightBtn) { this.rightBtn.addEventListener( "click", (this.onRightClickBound = () => { if (!this.currentTrack || !this.slides.length) return; this.currentSlide = (this.currentSlide + 1) % this.slides.length; this.update(true); this.restartAutoPlay(); }) ); } } startAutoPlay() { this.stopAutoPlay(); if(this.container.dataset.autoplay && this.container.dataset.autoplay === 'false') return this.autoPlayInterval = setInterval(() => { if (!this.currentTrack || this.slides.length === 0) return; this.currentSlide = (this.currentSlide + 1) % this.slides.length; this.update(); }, this.container.dataset.time || 5000); } stopAutoPlay() { if (this.autoPlayInterval) { clearInterval(this.autoPlayInterval); this.autoPlayInterval = null; } } restartAutoPlay() { this.stopAutoPlay(); this.startAutoPlay(); } init() { this.currentTrack = this.getActiveTrack(); this.slides = this.currentTrack ? this.currentTrack.querySelectorAll("img") : []; this.currentSlide = 0; this.ensureTopbar(); this.buildLabels(); this.buildTabs(); this.bindControls(); this.update(); this.startAutoPlay(); } rebind() { this.currentTrack = this.getActiveTrack(); this.slides = this.currentTrack ? this.currentTrack.querySelectorAll("img") : []; this.currentSlide = Math.min( this.currentSlide, Math.max(this.slides.length - 1, 0) ); this.ensureTopbar(); this.buildLabels(); this.buildTabs(); this.update(); this.restartAutoPlay(); } }
$329.00
$229.0030% OFF
OVIOS Office Chair Ergonomic High Back Suede Fabri...
About this item Height Adjustable and Comfortable Design: This modern conference chair offers adjustable height from 17.32" to 19.69". Its deep, comfortable seat ensures optimal support during long periods of use. Experience customized comfort tailored to your needs. Tilt Mechanism for Relaxation: The chair is equipped with a tilt mechanism that enables it to be tilted at various angles and locked in place, providing you with a relaxing seating experience. Versatile Usage: Ideal for home offices, conference rooms, computer rooms, and task workplaces, this executive office chair is versatile and adaptable to various environments. Supportive and Easy to Clean: Strategically placed support cushions offer back and lumbar support. The chair is upholstered in soft PU leather, which is both oil and water-resistant. This feature not only ensures comfort but also makes cleaning effortless when necessary. High Quality and Weight Limit: Built with durability in mind, this chair is reliable and sturdy. It has a weight limit of 350 lbs, ensuring its stability and long-lasting performance. Suede Fabric for Superior Comfort: The chair is crafted using suede fabric, known for its softness and smooth texture. Suede offers excellent hygienic performance, superior air permeability, no fading, good water resistance, and a non-greasy feeling, enhancing your overall seating experience. Product information Color Light Brown;Dark Brown;Dark Grey;Beige Product Dimensions 27.55"D x 28.74"W x 46.85"H Back Style Solid Back Product Care Instructions Wipe Clean Unit Count 1 Count Recommended Uses For Product Office Pattern Solid Finish Type Suede Room Type Office Included Components Caster Shape Rectangular Surface Recommendation Hard Floor Furniture base movement Swivel Seat Height 16.9 Inches Seat Depth 20 inches Item Weight 45 pounds
$269.00
$199.0026% OFF
OVIOS Office Chair Ergonomic High Back Suede Fabri...
About this item Height Adjustable and Comfortable Design: This modern conference chair offers adjustable height from 17.32" to 19.69". Its deep, comfortable seat ensures optimal support during long periods of use. Experience customized comfort tailored to your needs. Tilt Mechanism for Relaxation: The chair is equipped with a tilt mechanism that enables it to be tilted at various angles and locked in place, providing you with a relaxing seating experience. Versatile Usage: Ideal for home offices, conference rooms, computer rooms, and task workplaces, this executive office chair is versatile and adaptable to various environments. Supportive and Easy to Clean: Strategically placed support cushions offer back and lumbar support. The chair is upholstered in soft PU leather, which is both oil and water-resistant. This feature not only ensures comfort but also makes cleaning effortless when necessary. High Quality and Weight Limit: Built with durability in mind, this chair is reliable and sturdy. It has a weight limit of 350 lbs, ensuring its stability and long-lasting performance. Suede Fabric for Superior Comfort: The chair is crafted using suede fabric, known for its softness and smooth texture. Suede offers excellent hygienic performance, superior air permeability, no fading, good water resistance, and a non-greasy feeling, enhancing your overall seating experience. Product information Color Light Brown;Dark Brown;Dark Grey;Beige Product Dimensions 27.55"D x 28.74"W x 46.85"H Back Style Solid Back Product Care Instructions Wipe Clean Unit Count 1 Count Recommended Uses For Product Office Pattern Solid Finish Type Suede Room Type Office Included Components Caster Shape Rectangular Surface Recommendation Hard Floor Furniture base movement Swivel Seat Height 16.9 Inches Seat Depth 20 inches Item Weight 45 pounds
$269.00
$199.0026% OFF
OVIOS Office Chair Ergonomic High Back Suede Fabri...
About this item Height Adjustable and Comfortable Design: This modern conference chair offers adjustable height from 17.32" to 19.69". Its deep, comfortable seat ensures optimal support during long periods of use. Experience customized comfort tailored to your needs. Tilt Mechanism for Relaxation: The chair is equipped with a tilt mechanism that enables it to be tilted at various angles and locked in place, providing you with a relaxing seating experience. Versatile Usage: Ideal for home offices, conference rooms, computer rooms, and task workplaces, this executive office chair is versatile and adaptable to various environments. Supportive and Easy to Clean: Strategically placed support cushions offer back and lumbar support. The chair is upholstered in soft PU leather, which is both oil and water-resistant. This feature not only ensures comfort but also makes cleaning effortless when necessary. High Quality and Weight Limit: Built with durability in mind, this chair is reliable and sturdy. It has a weight limit of 350 lbs, ensuring its stability and long-lasting performance. Suede Fabric for Superior Comfort: The chair is crafted using suede fabric, known for its softness and smooth texture. Suede offers excellent hygienic performance, superior air permeability, no fading, good water resistance, and a non-greasy feeling, enhancing your overall seating experience. Product information Color Light Brown;Dark Brown;Dark Grey;Beige Product Dimensions 27.55"D x 28.74"W x 46.85"H Back Style Solid Back Product Care Instructions Wipe Clean Unit Count 1 Count Recommended Uses For Product Office Pattern Solid Finish Type Suede Room Type Office Included Components Caster Shape Rectangular Surface Recommendation Hard Floor Furniture base movement Swivel Seat Height 16.9 Inches Seat Depth 20 inches Item Weight 45 pounds
$269.00
$199.0026% OFF
OVIOS Office Executive Chair Oversize Cushions Sue...
Elevate your executive workspace with the OVIOS Office Executive Chair, designed for those who demand both luxury and lasting support. This mid-back chair features generously oversized cushions upholstered in premium suede fabric, offering a sophisticated dark brown finish that feels as soft and breathable as it looks. It’s the perfect blend of leather’s elegance and fabric’s comfort, ideal for long hours of focused work.
Personalize your seating experience with fully adjustable controls. Easily modify the chair’s height and tilt tension, and lock the multi-angle reclining backrest into your preferred position. This flexibility allows you to seamlessly transition from intense concentration to a relaxed recline, supporting your posture and productivity throughout the day.
Constructed for durability, this chair is built around a sturdy iron base that provides exceptional stability and supports up to 350 pounds. Its robust ergonomic design ensures reliable comfort and resilience, making it a long-term investment for your home office or corporate environment.
At Ovios Furniture, we are committed to your complete satisfaction. This chair ships free to the contiguous United States and is backed by our comprehensive one-year warranty. Enjoy peace of mind with our dedicated customer service and a 30-day return policy for unopened items. Discover the perfect balance of style, substance, and value at ovios-home.com.
$259.00
$159.0039% OFF
OVIOS Office Executive Chair Oversize Cushions Sue...
Experience executive comfort redefined with the Ovios Office Executive Chair. Designed for those who demand both style and enduring support, this chair features plush oversize cushions upholstered in premium suede fabric. The light brown suede offers a sophisticated, soft-touch alternative to traditional leather, combining breathable comfort with an elegant aesthetic perfect for any professional or home office.
Its ergonomic mid-back design provides essential lumbar support, promoting better posture during long workdays. You can easily personalize your seating experience with a fully adjustable height mechanism and a multi-angle reclining backrest that locks into your preferred position. Transition seamlessly from focused tasks to moments of relaxed leaning.
Built with durability as a priority, the chair rests on a sturdy iron base capable of supporting up to 350 pounds, ensuring unwavering stability. This robust construction guarantees your investment from Ovios Furniture will provide reliable comfort for years to come.
We make your purchase worry-free. This chair ships for free within the contiguous United States, typically within 24 to 48 hours of your order. Backed by a 30-day return policy and a one-year warranty, our dedicated customer service team is ready to assist you.
Upgrade your workspace with a chair that doesn’t compromise. Visit Ovios-home.com today to discover the perfect blend of luxury, function, and value for your daily grind.
$259.00
$159.0039% OFF
OVIOS Office Chair Suede Fabric for Executive and ...
About this item Height Adjustable Comfort: This chair offers a seat height range from 19.09" to 22.05", providing customized ergonomic support. The deep seat ensures enhanced comfort even during extended use, promoting a more relaxed and comfortable seating experience. Versatile Usage: Ideal for home offices, conference rooms, computer rooms, and task workplaces, this executive office chair adapts to various environments seamlessly. Modern and Supportive Design: Strategically placed support cushions offer back and lumbar support, enhancing your comfort. Upholstered in soft suede fabric with ample padding, this chair ensures easy cleaning when needed. Robust Construction: With a weight limit of 350 lb, this chair is both reliable and sturdy, guaranteeing stability and durability for everyday use. Luxurious Suede Fabric: Crafted with suede fabric, this conference chair offers a soft and smooth texture. Suede's hygienic properties, excellent air permeability, colorfastness, water resistance, and non-greasy feel enhance your seating. Product information Color Light Brown;Dark Grey;Dark Brown;Beige Product Dimensions 24.21"D x 28.35"W x 38.19"H Back Style Solid Back Product Care Instructions Wipe Clean Unit Count 1 Count Recommended Uses For Product Office Pattern Solid Finish Type Suede Room Type Office Included Components Caster Shape Rectangular Surface Recommendation Hard Floor Furniture base movement Swivel Seat Height 19.09 to 22.05 Inches Seat Depth 18.11 inches Item Weight 28 pounds
$239.00
$159.0033% OFF
OVIOS Office Chair Suede Fabric for Executive and ...
About this item Height Adjustable Comfort: This chair offers a seat height range from 19.09" to 22.05", providing customized ergonomic support. The deep seat ensures enhanced comfort even during extended use, promoting a more relaxed and comfortable seating experience. Versatile Usage: Ideal for home offices, conference rooms, computer rooms, and task workplaces, this executive office chair adapts to various environments seamlessly. Modern and Supportive Design: Strategically placed support cushions offer back and lumbar support, enhancing your comfort. Upholstered in soft suede fabric with ample padding, this chair ensures easy cleaning when needed. Robust Construction: With a weight limit of 350 lb, this chair is both reliable and sturdy, guaranteeing stability and durability for everyday use. Luxurious Suede Fabric: Crafted with suede fabric, this conference chair offers a soft and smooth texture. Suede's hygienic properties, excellent air permeability, colorfastness, water resistance, and non-greasy feel enhance your seating. Product information Color Light Brown;Dark Grey;Dark Brown;Beige Product Dimensions 24.21"D x 28.35"W x 38.19"H Back Style Solid Back Product Care Instructions Wipe Clean Unit Count 1 Count Recommended Uses For Product Office Pattern Solid Finish Type Suede Room Type Office Included Components Caster Shape Rectangular Surface Recommendation Hard Floor Furniture base movement Swivel Seat Height 19.09 to 22.05 Inches Seat Depth 18.11 inches Item Weight 28 pounds
$239.00
$159.0033% OFF
Ovios Office Executive Chair Oversize Cushions PU ...
@media only screen and (max-width: 600px) { .image-container { display: none; } .mobile-image-container { margin: 0; padding: 0; list-style-type: none; margin-left: 0 !important; padding: 0 !important; } .mobile-image-container li { width: 100%; margin-bottom: 20px; } .mobile-image-container img { width: 100%; height: auto; margin: 0px; } } @media only screen and (min-width: 601px) { .mobile-image-container { display: none; } } #collapse .content ul { list-style-type: none; } #collapse .item:first-of-type b, #collapse .item:first-of-type strong { letter-spacing: normal; } PRODUCT OVERVIEW FEATURES [ Premium Comfort with Water-Resistant PU Leather ] This office chair is upholstered in high-quality PU leather, offering a sleek, leather-like look with added practicality. The water- and oil-resistant material makes it easy to clean and maintain, ensuring long-lasting use. [ Adjustable for Your Comfort ] Designed with your comfort in mind, the chair offers adjustable height and a tilt mechanism that allows you to recline and lock the backrest at various angles. Whether for work or relaxation, this chair adapts to your needs. [ Sturdy Iron Base for Enhanced Stability ] Constructed with a durable iron base, this chair provides reliable support for up to 350 lbs. The combination of ergonomic design and robust materials ensures lasting comfort and stability, even with frequent use. [ Modern Design for Versatile Spaces ] Featuring a professional and modern look, the chair’s sleek PU leather finish and solid construction make it a perfect fit for both home offices and corporate environments. It blends style with functionality to elevate any workspace. HIGHLIGHTS SHIPPING & RETURN Shipping time & delivery time We usually ship items within 24 - 48 hours after confirmed payment. (in business days) In general, we ship via Fedex, average transit time is about 7 - 10 business days. In rare cases due to unforeseen events, (e.g. extreme weather, unusual spikes, etc.), these shipment processing times may be delayed. Free shipping policy All of our items are FREE SHIPPING in normal cases (within the contiguous United States). You can get the items with no shipping cost. There is no other hidden charges or handling fees. In a few special cases, you need to pay necessary cost of shipment, for example, return, exchange or some area. We ship only within the 48 contiguous United States. We do not ship to Alaska, Hawaii, US protectorates (e.g., Puerto Rico), P.O. boxes, or APO/FPO addresses. About tracking logistics information We’ll send you the delivery time by email. For any further information, please feel free to contact us: [email protected] If you want to change or cancel your order, please check whether the order has already been processed. Once the item leaves our warehouse, it can not be canceled or changed. Keep in mind: 1. Tracking is not available for orders that are in a Processing status 2. Tracking can take up to 72 hours to update after an order is shipped About damaged packages and defective items upon arrival When you receive your item, please check your package and item carefully. If there is something wrong, the following steps are advised: 1. Take pictures reflecting the damage or defect clearly. 2. Then please email us at [email protected] immediately and attach the photos. 3. We will contact you and try our best to find the best solution. 4. Attention please, do not throw away the boxes or packaging materials, otherwise, your request of return or exchange will not be accepted. Additional Information We process orders Monday-Friday (excluding holidays). If you place your order after the cutoff times, we’ll process and ship the order the next business day. We do not deliver on Sundays or holidays. About tracking information stagnation With the surge in demand from shipping companies in the US due to high demand, we are seeing an increase in tracking and scanning issues where shipping companies are picking up shipments from warehouses but the tracking tags are not being scanned correctly when the shipping companies pick them up. Our carriers are working to eliminate tracking issues and delivery delays. SERVICE & WARRANTY Dear customers we guarantee that all items we sell have undergone strict quality control inspections to ensure you have an excellent product experience. At the same time, our warranty policy can make you rest assured to buy furniture products from us. All items sold by OVIOS are covered by the following comprehensive product warranties. 1.Customer Service Our customer service team will respond within 24 hours. We product comes with a one-year warranty. You can contact our exclusive OVIOS customer service team for assistance before and after your purchase. 2.Accepted Return 30 Day Unconditional Refund Guarantee for Unopened & Unused. If you are not satisfied with your purchase, or for whatever reason, You no longer want this product within 30 days after receiving it, you may contact us for a return and refund. Kindly note that in such cases the return shipping fee is the customer's responsibility and is non-refundable. Items MUST be returned in their original packaging, unused and unopened in order to qualify for a product refund. The customers should pay for actual cost of return shipping because of their remorse. But don't need to pay for defective producets return. And there is no restocking fee. These fees need to be settled in U.S. dollars. Note that the returns shipping fee is non-refundable and products must be returned unopened and unused for a refund. If the boxes has been opened, the buyer needs to send a picture and confirm with the seller. Only when the confirmation does not affect the normal use can the return be supported, and the buyer needs to afford a certain amount of goods loss charge. Please ensure to return the item with its original packaging and accessories in the same condition as when you received it. 3.Not support the return (1) Return is not accepted when damage is caused by unauthorized maintenance, misusing, collision, negligence, abuse, etc. Returns will not be accepted for OPEN BOX products. (2) Arrived damage If the item you have received is defective or damaged, contact our customer service at the first time and provide us with the order number and the photos or a video of the defective or damaged item in 7 days. In this case, after our checking, we can give a full refund. (3) Missing part If your product parts damaged or missing, we can send the new parts to you or partially refund you. If the part affects product function or use, you can't repair it by yourself or the local technique person, and we will send a new item with you or a full refund. (4) Doesn't work or defective When you received the product that doesn't work, you can ask our customer service for help, we'll give you the related technical reply; if it doesn't work still, you can ask for an refund. When you received the product is defective, and you can ask our customer service to give you technical support or solution, if you can repair it by yourself or local store, we will provide you with some compensation. (5) Incorrect Package Sent If the item you have received differs completely from the one you ordered, please do not hesitate to contact our customer service and to provide us with the following proofs in 7 days: Photos or a video of the incorrect item. We will send the new item to you. 4.Return Confirmation (1) Contact us [email protected] to get a return shipping label. submit order , a clear picture or video, and shipping packaging to confirm your return is accepted. (2) When returning your package, please make sure the item is in good condition with all accessories inside. Affix the return shipping label that we provided to the package, ship it to the address our customer service sent you. 5.Refund and Compensation Process (1) PayPal refunds may take up to 24 hours to process and appear in your account. (2) Credit card refunds will take between 7-14 business days to appear in your account. This delay depends entirely on your credit card company and any intermediaries. Note: The price of the products on our website will fluctuate with the cost, and we will not refund any difference caused by this. @font-face { font-family: 'arial'; src: url('//purpleleafshop.com/cdn/shop/t/172/assets/arial.ttf?v=96637986765718172581767866644') format('truetype'); } .product_desciption_custom { font-family: "arial" !important; } .customTabs { li { position: relative; padding: 0 15px; } li::before { content: ""; width: 1px; height: 50%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); background: #000 } li::after { content: ""; width: 1px; height: 50%; position: absolute; right: 0; top: 50%; transform: translateY(-50%); background: #000 } } .customTop { width: 127px!important; flex-direction: column; right: 10px; bottom: 100px; text-align: right; display: block !important; position: fixed; z-index: 50; cursor: pointer; } .customStickyBtn { z-index: 50; justify-content: space-evenly; background: #fff; /* width: 127px!important; flex-direction: column; right: 10px; bottom: 50px; text-align: right; display: block !important; position: fixed; z-index: 50; */ } .customStickyBtn .customCart, .customStickyBtn .customBuy { width: 35%; /* width: 127px; height: 36px; */ color: #fff !important; background-color: #7c189f !important; padding: 0; font-size: 14px; border-radius: 5px; display: flex; align-items: center; justify-content: center; } .customStickyBtn .customCart img, .customStickyBtn .customBuy img { height: 25px; width: fit-content; margin-right: 5px; } .customDetailBox b,.customDetailBox strong { letter-spacing: 1px; } #collapse { width: 100%; margin: 10px auto; list-style-type: none; color: #000; } .topTitle { font-size: 20px; font-weight: bold; margin-bottom: 20px; letter-spacing: 1px; } .item { padding: 15px 0; position: relative; } .item::after { content: ""; height: 1px; width: 100%; background-color: #000; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); } .itemTitle { font-weight: bold; font-size: 16px; position: relative; display: flex; align-items: center; cursor: pointer; letter-spacing: 1px; } .iconAngel { width: auto!important; margin: 0 0 0 5px !important; transform: rotate(-90deg); transition: all .3s; } .tableCustom { width: max-content!important; margin-right: 1px; border-collapse: separate; } .tableCustom td, .tableCustom th { padding: 20px 32px; text-align: left; } .tableCustom tr { border-top: none!important; } .productSizeImgBox { display: flex; overflow-x: scroll; } .productSizeImgBox img, .productSizeImgBox img { box-shadow: 0 0 8px 0px #d5d5d5; } .content { font-size: 15px; margin-top: 8px; height: 0; overflow: hidden; transition: all .3s; will-change: height; } .content img { width: 100%; margin: 0 0 10px 0; } .item.active .iconAngel { transform: rotate(0deg); } .item.active .content { height: auto; } .contrast { width: 100%; padding-bottom: 30px; overflow: hidden; } .contrast .title { font-weight: bold; font-size: 20px; color: #000000; margin-top: 53px; } .mainBox { margin-top: 30px; display: flex; position: relative; width: 100%; overflow-x: scroll; } .leftBox { display: flex; position: sticky; left: 0; z-index: 4; } .itemBox .inBox { width: 270px; height: 345px; display: flex; flex-direction: column; align-items: center; background-color: #fff; } .itemBox.border { border: 1px solid #000; } .itemBox.center .bottomContent div { justify-content: center; } .imgBox { width: 215px; height: 209px; img { margin: 0!important; } } .pTitle { margin-top: 40px; font-weight: bold; font-size: 14px; color: #000000; } .pBtn { width: 90px; height: 31px; margin-top: 3px; background: #7B189F; border-radius: 5px; font-weight: 400; font-size: 12px; color: #FFFFFF!important; display: flex; align-items: center; justify-content: center; text-decoration: none!important; } .bottomContent div { height: 52px; background: #F0F0F0; display: flex; align-items: center; padding: 0 20px; /* font-family: OpenSans; */ font-weight: 400; font-size: 14px; color: #000000; } .bottomContent div.deep { background: #DADADA; } .rightBox { display: flex; } @media screen and (max-width: 768px) { .contrast { padding: 0; } .leftBox { width: 50%; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5); } .content .boxp{ text-align: justify; } .content p { text-align: justify; } .productSizeImgBox .mobile-image-container { display: flex; } .itemBox { flex-shrink: 0; width: 100%; } .itemBox .inBox { width: 100%; height: 210px; background-color: transparent; } .leftBox .itemBox:nth-child(1) { position: absolute; background: transparent; left: 0; top: 0; } .leftBox .itemBox:nth-child(1) .bottomContent > div { background-color: transparent; align-items: start; font-weight: bold; padding-top: 0px; height: 43px; } .imgBox { width: 100%; height: 145px; } .imgBox img { margin: 0 auto !important; height: 100%; } .pBtn { height: 25px; } .pTitle { margin-top: initial; padding: 0 5px; text-align: center; line-height: normal; } .bottomContent div { height: 30px; background: #F0F0F0; padding: 13px 5px 4px 5px; /* font-family: OpenSans; */ font-weight: 400; font-size: 12px; color: #000000; box-sizing: content-box !important; line-height: normal; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: break-word; } .rightBox { display: flex; overflow: scroll; width: 50%; } } @media screen and (min-width: 768px) { .productSizeImgBox .image-container { display: flex; } .tableCustom td:first-child, .tableCustom th:first-child { position: sticky; left: 0px; z-index: 2; background-color: #FFFFFF; } } @media only screen and (max-width: 600px) { .image-container { display: none; } .mobile-image-container { margin: 0; padding: 0; list-style-type: none; margin-left: 0 !important; padding: 0 !important; } .mobile-image-container li { width: 100%; margin-bottom: 20px; } .mobile-image-container img { width: 100%; height: auto; } } @media only screen and (min-width: 601px) { .mobile-image-container { display: none; } } .swiperTitle { font-size: 24px; font-weight: bold; text-align: center } .carousel-section { width: 100%; max-width: 1464px; margin: 30px auto; position: relative; } .carousel-container { position: relative; overflow: hidden; } .carousel-track { display: flex; transition: transform 0.5s ease-in-out; } .carousel-img { min-width: 100%; object-fit: cover; } .desktop-carousel .carousel-img { max-height: 600px; } .mobile-carousel .mobile-img { width: 100%; height: auto; } .carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); background-color: rgba(0, 0, 0, 0.4); color: #fff; border: none; font-size: 2rem; padding: 10px; cursor: pointer; z-index: 10; } .carousel-btn.left { left: 10px; } .carousel-btn.right { right: 10px; } .carousel-topbar { position: absolute; top: 0; left: 0; width: 100%; box-sizing: border-box; background: rgba(0, 0, 0, 0.88); z-index: 3; padding: 8px 12px; } .carousel-topbar-inner { display: flex; align-items: center; justify-content: center; gap: 75px; max-width: 100%; overflow-y: hidden; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; flex-wrap: nowrap; white-space: nowrap; cursor: grab; } .carousel-topbar-inner::-webkit-scrollbar { display: none; } .carousel-topbar-inner.dragging { cursor: grabbing; user-select: none; } .carousel-tab { flex: 0 0 auto; color: rgba(255, 255, 255, 0.78); background: transparent; border: none; font-size: 18px; line-height: 1.2; padding: 12px 2px; cursor: pointer; position: relative; white-space: nowrap; } .carousel-tab:focus { outline: none; } .carousel-tab.active { color: #fff; font-weight: 600; } .carousel-tab.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 3px; margin: 0 auto; width: 80%; height: 2px; background: #fff; } .video video { width: 100%; } @media only screen and (max-width: 600px) { .desktop-carousel { display: none; } .carousel-topbar-inner { gap: 16px; } .carousel-tab { font-size: 13px; } .carousel-topbar-inner { justify-content: flex-start; } .topbarCenter .carousel-topbar-inner { justify-content: center; } } @media only screen and (min-width: 601px) { .mobile-carousel { display: none; } } .tableCustom { width: 100%; border-collapse: collapse; border: 1px solid black; } .tableCustom td, .tableCustom th { padding: 12px 15px; text-align: left; border-bottom: 1px solid #e0e0e0; border-right: 1px solid #e0e0e0; } .tableCustom td:last-child, .tableCustom th:last-child { border-right: none; } .tableCustom tr:last-child td { border-bottom: none; } .tableCustom th { background-color: #f8f9fa; font-weight: 600; color: #333; } .footerTable { text-align: left; margin-bottom: 30px; } .footerTable .table-wrapper { white-space: initial; } .footerTable .tableBox { margin-top: 0; } .footerTable .a-text-bold { font-weight: bold; } .footerTable .tableBigTitle { font-size: 24px; font-weight: bold; margin: 20px 0; text-align: center } .footerTable .tableBox { border-bottom: 1px solid #d5d9d9; width: 100%; } .footerTable th { width: 30%; } .footerTable td, .footerTable th { padding: 8px 16px 8px 0!important; vertical-align: top; border-top: 1px solid #d5d9d9; } document.getElementById('topBtn').addEventListener('click', scrollToTop); function scrollToTop() { window.scrollTo({ top: 0, behavior: 'smooth' }); } console.log(123) let item = document.querySelectorAll('.item'); let itemTitle = document.querySelectorAll('.itemTitle'); for (let i = 0; i < item.length; i++) { itemTitle[i].addEventListener('click', function() { if (item[i].className.includes('active')) { item[i].className = 'item'; } else { item[i].className = 'item active'; } }) } document.addEventListener("DOMContentLoaded", function () { const containers = findCarouselContainers(); const instances = containers.map((el) => new Carousel(el)); instances.forEach((ins) => ins.init()); window.addEventListener("resize", function () { instances.forEach((ins) => ins.rebind()); }); }); function findCarouselContainers() { const explicit = Array.from( document.querySelectorAll(".carousel-container") ); if (explicit.length) return explicit; const tracks = Array.from( document.querySelectorAll(".desktop-carousel, .mobile-carousel") ); const set = new Set(); tracks.forEach((t) => { if (t.parentElement) set.add(t.parentElement); }); return Array.from(set); } class Carousel { constructor(container) { this.container = container; this.leftBtn = container.querySelector(".carousel-btn.left"); this.rightBtn = container.querySelector(".carousel-btn.right"); this.desktopTrack = container.querySelector(".desktop-carousel"); this.mobileTrack = container.querySelector(".mobile-carousel"); this.currentSlide = 0; this.currentTrack = null; this.slides = []; this.autoPlayInterval = null; this.topbarEl = null; this.topbarInnerEl = null; this.labels = []; } enableDragScroll() { const el = this.topbarInnerEl; if (!el) return; let isDown = false; let startX = 0; let startScroll = 0; let moved = false; const getX = (e) => (e.touches ? e.touches[0].pageX : e.pageX); const onDown = (e) => { isDown = true; moved = false; el.classList.add("dragging"); startX = getX(e); startScroll = el.scrollLeft; }; const onMove = (e) => { if (!isDown) return; const x = getX(e); const dx = x - startX; if (Math.abs(dx) > 3) moved = true; el.scrollLeft = startScroll - dx; }; const onUp = () => { isDown = false; el.classList.remove("dragging"); setTimeout(() => { moved = false; }, 0); }; el.addEventListener("mousedown", onDown); el.addEventListener("mousemove", onMove); el.addEventListener("mouseup", onUp); el.addEventListener("mouseleave", onUp); el.addEventListener("touchstart", onDown, { passive: true, }); el.addEventListener("touchmove", onMove, { passive: true, }); el.addEventListener("touchend", onUp); this.preventClickWhenDrag = (btn) => { btn.addEventListener( "click", (evt) => { if (moved) evt.preventDefault(); }, true ); }; } getActiveTrack() { const desktopVisible = this.desktopTrack && window.getComputedStyle(this.desktopTrack).display !== "none"; return desktopVisible ? this.desktopTrack : this.mobileTrack; } ensureTopbar() { if (!this.currentTrack) return; const isNewCustom = this.container.classList.contains("newCustom"); if (!isNewCustom) return; const parent = this.container; const pos = window.getComputedStyle(parent).position; if (pos === "static") parent.style.position = "relative"; this.topbarEl = parent.querySelector(".carousel-topbar"); if (!this.topbarEl) { this.topbarEl = document.createElement("div"); this.topbarEl.className = "carousel-topbar"; this.topbarInnerEl = document.createElement("div"); this.topbarInnerEl.className = "carousel-topbar-inner"; this.topbarEl.appendChild(this.topbarInnerEl); parent.insertBefore(this.topbarEl, this.currentTrack); } else { this.topbarInnerEl = this.topbarEl.querySelector( ".carousel-topbar-inner" ); this.topbarInnerEl.innerHTML = ""; } } parseContainerLabelsAttr() { const raw = this.container.getAttribute("data-labels"); if (!raw) return null; try { const json = JSON.parse(raw); if (Array.isArray(json)) return json; } catch (e) { } return raw .split("|") .map((s) => s.trim()) .filter(Boolean); } buildLabels() { const fromContainer = this.parseContainerLabelsAttr(); if (fromContainer && fromContainer.length) { this.labels = fromContainer.slice(); return; } this.labels = Array.from(this.slides).map((img, i) => { return img.dataset.label || img.alt || `第${i + 1}张`; }); } buildTabs() { if (!this.topbarInnerEl) return; this.topbarInnerEl.innerHTML = ""; this.labels.forEach((text, idx) => { const btn = document.createElement("button"); btn.type = "button"; btn.className = "carousel-tab" + (idx === this.currentSlide ? " active" : ""); btn.textContent = text; btn.setAttribute("data-index", String(idx)); btn.addEventListener("click", () => { if (!this.slides.length) return; this.currentSlide = idx; this.update(true); this.restartAutoPlay(); }); if (typeof this.preventClickWhenDrag === "function") { this.preventClickWhenDrag(btn); } this.topbarInnerEl.appendChild(btn); }); this.enableDragScroll && this.enableDragScroll(); this.adjustParentPadding(); this.keepActiveTabVisible("auto"); } keepActiveTabVisible(behavior = "auto") { if (!this.topbarInnerEl) return; const active = this.topbarInnerEl.querySelector(".carousel-tab.active"); if (!active) return; const margin = 6; requestAnimationFrame(() => { const elRect = this.topbarInnerEl.getBoundingClientRect(); const itemRect = active.getBoundingClientRect(); const leftOverflow = itemRect.left - (elRect.left + margin); const rightOverflow = itemRect.right - (elRect.right - margin); let delta = 0; if (leftOverflow < 0) { delta = leftOverflow; } else if (rightOverflow > 0) { delta = rightOverflow; } if (itemRect.width >= elRect.width) { delta = itemRect.left - elRect.left; } if (delta !== 0) { this.topbarInnerEl.scrollBy({ left: delta, behavior, }); } }); } adjustParentPadding() { if (!this.topbarEl) return; const safeTop = parseFloat( getComputedStyle(document.documentElement).getPropertyValue( "env(safe-area-inset-top)" ) ) || 0; this.container.style.paddingTop = this.topbarEl.offsetHeight + safeTop + "px"; } updateActiveTab() { if (!this.topbarInnerEl) return; const tabs = this.topbarInnerEl.querySelectorAll(".carousel-tab"); tabs.forEach((t, i) => { if (i === this.currentSlide) t.classList.add("active"); else t.classList.remove("active"); }); } update(fromUI = false) { if (this.currentTrack) { this.currentTrack.style.transform = `translateX(-${ this.currentSlide * 100 }%)`; } this.updateActiveTab(); this.adjustParentPadding(); this.keepActiveTabVisible(fromUI ? "smooth" : "auto"); } bindControls() { if (this.leftBtn) { this.leftBtn.addEventListener( "click", (this.onLeftClickBound = () => { if (!this.currentTrack || !this.slides.length) return; this.currentSlide = (this.currentSlide - 1 + this.slides.length) % this.slides.length; this.update(true); this.restartAutoPlay(); }) ); } if (this.rightBtn) { this.rightBtn.addEventListener( "click", (this.onRightClickBound = () => { if (!this.currentTrack || !this.slides.length) return; this.currentSlide = (this.currentSlide + 1) % this.slides.length; this.update(true); this.restartAutoPlay(); }) ); } } startAutoPlay() { this.stopAutoPlay(); if(this.container.dataset.autoplay && this.container.dataset.autoplay === 'false') return this.autoPlayInterval = setInterval(() => { if (!this.currentTrack || this.slides.length === 0) return; this.currentSlide = (this.currentSlide + 1) % this.slides.length; this.update(); }, this.container.dataset.time || 5000); } stopAutoPlay() { if (this.autoPlayInterval) { clearInterval(this.autoPlayInterval); this.autoPlayInterval = null; } } restartAutoPlay() { this.stopAutoPlay(); this.startAutoPlay(); } init() { this.currentTrack = this.getActiveTrack(); this.slides = this.currentTrack ? this.currentTrack.querySelectorAll("img") : []; this.currentSlide = 0; this.ensureTopbar(); this.buildLabels(); this.buildTabs(); this.bindControls(); this.update(); this.startAutoPlay(); } rebind() { this.currentTrack = this.getActiveTrack(); this.slides = this.currentTrack ? this.currentTrack.querySelectorAll("img") : []; this.currentSlide = Math.min( this.currentSlide, Math.max(this.slides.length - 1, 0) ); this.ensureTopbar(); this.buildLabels(); this.buildTabs(); this.update(); this.restartAutoPlay(); } }
$329.00
$229.0030% OFF
OVIOS Office Executive Chair Oversize Cushions Sue...
@media only screen and (max-width: 600px) { .image-container { display: none; } .mobile-image-container { margin: 0; padding: 0; list-style-type: none; margin-left: 0 !important; padding: 0 !important; } .mobile-image-container li { width: 100%; margin-bottom: 20px; } .mobile-image-container img { width: 100%; height: auto; margin: 0px; } } @media only screen and (min-width: 601px) { .mobile-image-container { display: none; } } #collapse .content ul { list-style-type: none; } #collapse .item:first-of-type b, #collapse .item:first-of-type strong { letter-spacing: normal; } PRODUCT OVERVIEW FEATURES [ Luxurious Comfort with Suede Fabric ] This office chair is upholstered in high-quality suede fabric, offering the elegant appearance of leather with a soft, breathable feel. The oversize cushions on both the seat and backrest provide exceptional comfort, making it ideal for long hours of use. [ Fully Adjustable for Personalized Comfort ] Easily adjust the chair's height and tilt to fit your needs. The multi-angle reclining backrest can be locked in your desired position, giving you the flexibility to switch between focused work and relaxation with ease. [ Durable Construction with Sturdy Iron Base ] Built to last, this chair features a strong iron base that ensures stability and can support up to 350 lbs. Its ergonomic design, combined with the robust frame, delivers reliable comfort and long-term durability. [ Stylish and Functional for Any Space ] The sleek design and premium suede fabric make this chair a perfect addition to any office or home workspace. Combining functionality with sophisticated aesthetics, it seamlessly enhances the look of any professional setting. HIGHLIGHTS SHIPPING & RETURN Shipping time & delivery time We usually ship items within 24 - 48 hours after confirmed payment. (in business days) In general, we ship via Fedex, average transit time is about 7 - 10 business days. In rare cases due to unforeseen events, (e.g. extreme weather, unusual spikes, etc.), these shipment processing times may be delayed. Free shipping policy All of our items are FREE SHIPPING in normal cases (within the contiguous United States). You can get the items with no shipping cost. There is no other hidden charges or handling fees. In a few special cases, you need to pay necessary cost of shipment, for example, return, exchange or some area. We ship only within the 48 contiguous United States. We do not ship to Alaska, Hawaii, US protectorates (e.g., Puerto Rico), P.O. boxes, or APO/FPO addresses. About tracking logistics information We’ll send you the delivery time by email. For any further information, please feel free to contact us: [email protected] If you want to change or cancel your order, please check whether the order has already been processed. Once the item leaves our warehouse, it can not be canceled or changed. Keep in mind: 1. Tracking is not available for orders that are in a Processing status 2. Tracking can take up to 72 hours to update after an order is shipped About damaged packages and defective items upon arrival When you receive your item, please check your package and item carefully. If there is something wrong, the following steps are advised: 1. Take pictures reflecting the damage or defect clearly. 2. Then please email us at [email protected] immediately and attach the photos. 3. We will contact you and try our best to find the best solution. 4. Attention please, do not throw away the boxes or packaging materials, otherwise, your request of return or exchange will not be accepted. Additional Information We process orders Monday-Friday (excluding holidays). If you place your order after the cutoff times, we’ll process and ship the order the next business day. We do not deliver on Sundays or holidays. About tracking information stagnation With the surge in demand from shipping companies in the US due to high demand, we are seeing an increase in tracking and scanning issues where shipping companies are picking up shipments from warehouses but the tracking tags are not being scanned correctly when the shipping companies pick them up. Our carriers are working to eliminate tracking issues and delivery delays. SERVICE & WARRANTY Dear customers we guarantee that all items we sell have undergone strict quality control inspections to ensure you have an excellent product experience. At the same time, our warranty policy can make you rest assured to buy furniture products from us. All items sold by OVIOS are covered by the following comprehensive product warranties. 1.Customer Service Our customer service team will respond within 24 hours. We product comes with a one-year warranty. You can contact our exclusive OVIOS customer service team for assistance before and after your purchase. 2.Accepted Return 30 Day Unconditional Refund Guarantee for Unopened & Unused. If you are not satisfied with your purchase, or for whatever reason, You no longer want this product within 30 days after receiving it, you may contact us for a return and refund. Kindly note that in such cases the return shipping fee is the customer's responsibility and is non-refundable. Items MUST be returned in their original packaging, unused and unopened in order to qualify for a product refund. The customers should pay for actual cost of return shipping because of their remorse. But don't need to pay for defective producets return. And there is no restocking fee. These fees need to be settled in U.S. dollars. Note that the returns shipping fee is non-refundable and products must be returned unopened and unused for a refund. If the boxes has been opened, the buyer needs to send a picture and confirm with the seller. Only when the confirmation does not affect the normal use can the return be supported, and the buyer needs to afford a certain amount of goods loss charge. Please ensure to return the item with its original packaging and accessories in the same condition as when you received it. 3.Not support the return (1) Return is not accepted when damage is caused by unauthorized maintenance, misusing, collision, negligence, abuse, etc. Returns will not be accepted for OPEN BOX products. (2) Arrived damage If the item you have received is defective or damaged, contact our customer service at the first time and provide us with the order number and the photos or a video of the defective or damaged item in 7 days. In this case, after our checking, we can give a full refund. (3) Missing part If your product parts damaged or missing, we can send the new parts to you or partially refund you. If the part affects product function or use, you can't repair it by yourself or the local technique person, and we will send a new item with you or a full refund. (4) Doesn't work or defective When you received the product that doesn't work, you can ask our customer service for help, we'll give you the related technical reply; if it doesn't work still, you can ask for an refund. When you received the product is defective, and you can ask our customer service to give you technical support or solution, if you can repair it by yourself or local store, we will provide you with some compensation. (5) Incorrect Package Sent If the item you have received differs completely from the one you ordered, please do not hesitate to contact our customer service and to provide us with the following proofs in 7 days: Photos or a video of the incorrect item. We will send the new item to you. 4.Return Confirmation (1) Contact us [email protected] to get a return shipping label. submit order , a clear picture or video, and shipping packaging to confirm your return is accepted. (2) When returning your package, please make sure the item is in good condition with all accessories inside. Affix the return shipping label that we provided to the package, ship it to the address our customer service sent you. 5.Refund and Compensation Process (1) PayPal refunds may take up to 24 hours to process and appear in your account. (2) Credit card refunds will take between 7-14 business days to appear in your account. This delay depends entirely on your credit card company and any intermediaries. Note: The price of the products on our website will fluctuate with the cost, and we will not refund any difference caused by this. @font-face { font-family: 'arial'; src: url('//purpleleafshop.com/cdn/shop/t/172/assets/arial.ttf?v=96637986765718172581767866644') format('truetype'); } .product_desciption_custom { font-family: "arial" !important; } .customTabs { li { position: relative; padding: 0 15px; } li::before { content: ""; width: 1px; height: 50%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); background: #000 } li::after { content: ""; width: 1px; height: 50%; position: absolute; right: 0; top: 50%; transform: translateY(-50%); background: #000 } } .customTop { width: 127px!important; flex-direction: column; right: 10px; bottom: 100px; text-align: right; display: block !important; position: fixed; z-index: 50; cursor: pointer; } .customStickyBtn { z-index: 50; justify-content: space-evenly; background: #fff; /* width: 127px!important; flex-direction: column; right: 10px; bottom: 50px; text-align: right; display: block !important; position: fixed; z-index: 50; */ } .customStickyBtn .customCart, .customStickyBtn .customBuy { width: 35%; /* width: 127px; height: 36px; */ color: #fff !important; background-color: #7c189f !important; padding: 0; font-size: 14px; border-radius: 5px; display: flex; align-items: center; justify-content: center; } .customStickyBtn .customCart img, .customStickyBtn .customBuy img { height: 25px; width: fit-content; margin-right: 5px; } .customDetailBox b,.customDetailBox strong { letter-spacing: 1px; } #collapse { width: 100%; margin: 10px auto; list-style-type: none; color: #000; } .topTitle { font-size: 20px; font-weight: bold; margin-bottom: 20px; letter-spacing: 1px; } .item { padding: 15px 0; position: relative; } .item::after { content: ""; height: 1px; width: 100%; background-color: #000; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); } .itemTitle { font-weight: bold; font-size: 16px; position: relative; display: flex; align-items: center; cursor: pointer; letter-spacing: 1px; } .iconAngel { width: auto!important; margin: 0 0 0 5px !important; transform: rotate(-90deg); transition: all .3s; } .tableCustom { width: max-content!important; margin-right: 1px; border-collapse: separate; } .tableCustom td, .tableCustom th { padding: 20px 32px; text-align: left; } .tableCustom tr { border-top: none!important; } .productSizeImgBox { display: flex; overflow-x: scroll; } .productSizeImgBox img, .productSizeImgBox img { box-shadow: 0 0 8px 0px #d5d5d5; } .content { font-size: 15px; margin-top: 8px; height: 0; overflow: hidden; transition: all .3s; will-change: height; } .content img { width: 100%; margin: 0 0 10px 0; } .item.active .iconAngel { transform: rotate(0deg); } .item.active .content { height: auto; } .contrast { width: 100%; padding-bottom: 30px; overflow: hidden; } .contrast .title { font-weight: bold; font-size: 20px; color: #000000; margin-top: 53px; } .mainBox { margin-top: 30px; display: flex; position: relative; width: 100%; overflow-x: scroll; } .leftBox { display: flex; position: sticky; left: 0; z-index: 4; } .itemBox .inBox { width: 270px; height: 345px; display: flex; flex-direction: column; align-items: center; background-color: #fff; } .itemBox.border { border: 1px solid #000; } .itemBox.center .bottomContent div { justify-content: center; } .imgBox { width: 215px; height: 209px; img { margin: 0!important; } } .pTitle { margin-top: 40px; font-weight: bold; font-size: 14px; color: #000000; } .pBtn { width: 90px; height: 31px; margin-top: 3px; background: #7B189F; border-radius: 5px; font-weight: 400; font-size: 12px; color: #FFFFFF!important; display: flex; align-items: center; justify-content: center; text-decoration: none!important; } .bottomContent div { height: 52px; background: #F0F0F0; display: flex; align-items: center; padding: 0 20px; /* font-family: OpenSans; */ font-weight: 400; font-size: 14px; color: #000000; } .bottomContent div.deep { background: #DADADA; } .rightBox { display: flex; } @media screen and (max-width: 768px) { .contrast { padding: 0; } .leftBox { width: 50%; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5); } .content .boxp{ text-align: justify; } .content p { text-align: justify; } .productSizeImgBox .mobile-image-container { display: flex; } .itemBox { flex-shrink: 0; width: 100%; } .itemBox .inBox { width: 100%; height: 210px; background-color: transparent; } .leftBox .itemBox:nth-child(1) { position: absolute; background: transparent; left: 0; top: 0; } .leftBox .itemBox:nth-child(1) .bottomContent > div { background-color: transparent; align-items: start; font-weight: bold; padding-top: 0px; height: 43px; } .imgBox { width: 100%; height: 145px; } .imgBox img { margin: 0 auto !important; height: 100%; } .pBtn { height: 25px; } .pTitle { margin-top: initial; padding: 0 5px; text-align: center; line-height: normal; } .bottomContent div { height: 30px; background: #F0F0F0; padding: 13px 5px 4px 5px; /* font-family: OpenSans; */ font-weight: 400; font-size: 12px; color: #000000; box-sizing: content-box !important; line-height: normal; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: break-word; } .rightBox { display: flex; overflow: scroll; width: 50%; } } @media screen and (min-width: 768px) { .productSizeImgBox .image-container { display: flex; } .tableCustom td:first-child, .tableCustom th:first-child { position: sticky; left: 0px; z-index: 2; background-color: #FFFFFF; } } @media only screen and (max-width: 600px) { .image-container { display: none; } .mobile-image-container { margin: 0; padding: 0; list-style-type: none; margin-left: 0 !important; padding: 0 !important; } .mobile-image-container li { width: 100%; margin-bottom: 20px; } .mobile-image-container img { width: 100%; height: auto; } } @media only screen and (min-width: 601px) { .mobile-image-container { display: none; } } .swiperTitle { font-size: 24px; font-weight: bold; text-align: center } .carousel-section { width: 100%; max-width: 1464px; margin: 30px auto; position: relative; } .carousel-container { position: relative; overflow: hidden; } .carousel-track { display: flex; transition: transform 0.5s ease-in-out; } .carousel-img { min-width: 100%; object-fit: cover; } .desktop-carousel .carousel-img { max-height: 600px; } .mobile-carousel .mobile-img { width: 100%; height: auto; } .carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); background-color: rgba(0, 0, 0, 0.4); color: #fff; border: none; font-size: 2rem; padding: 10px; cursor: pointer; z-index: 10; } .carousel-btn.left { left: 10px; } .carousel-btn.right { right: 10px; } .carousel-topbar { position: absolute; top: 0; left: 0; width: 100%; box-sizing: border-box; background: rgba(0, 0, 0, 0.88); z-index: 3; padding: 8px 12px; } .carousel-topbar-inner { display: flex; align-items: center; justify-content: center; gap: 75px; max-width: 100%; overflow-y: hidden; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; flex-wrap: nowrap; white-space: nowrap; cursor: grab; } .carousel-topbar-inner::-webkit-scrollbar { display: none; } .carousel-topbar-inner.dragging { cursor: grabbing; user-select: none; } .carousel-tab { flex: 0 0 auto; color: rgba(255, 255, 255, 0.78); background: transparent; border: none; font-size: 18px; line-height: 1.2; padding: 12px 2px; cursor: pointer; position: relative; white-space: nowrap; } .carousel-tab:focus { outline: none; } .carousel-tab.active { color: #fff; font-weight: 600; } .carousel-tab.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 3px; margin: 0 auto; width: 80%; height: 2px; background: #fff; } .video video { width: 100%; } @media only screen and (max-width: 600px) { .desktop-carousel { display: none; } .carousel-topbar-inner { gap: 16px; } .carousel-tab { font-size: 13px; } .carousel-topbar-inner { justify-content: flex-start; } .topbarCenter .carousel-topbar-inner { justify-content: center; } } @media only screen and (min-width: 601px) { .mobile-carousel { display: none; } } .tableCustom { width: 100%; border-collapse: collapse; border: 1px solid black; } .tableCustom td, .tableCustom th { padding: 12px 15px; text-align: left; border-bottom: 1px solid #e0e0e0; border-right: 1px solid #e0e0e0; } .tableCustom td:last-child, .tableCustom th:last-child { border-right: none; } .tableCustom tr:last-child td { border-bottom: none; } .tableCustom th { background-color: #f8f9fa; font-weight: 600; color: #333; } .footerTable { text-align: left; margin-bottom: 30px; } .footerTable .table-wrapper { white-space: initial; } .footerTable .tableBox { margin-top: 0; } .footerTable .a-text-bold { font-weight: bold; } .footerTable .tableBigTitle { font-size: 24px; font-weight: bold; margin: 20px 0; text-align: center } .footerTable .tableBox { border-bottom: 1px solid #d5d9d9; width: 100%; } .footerTable th { width: 30%; } .footerTable td, .footerTable th { padding: 8px 16px 8px 0!important; vertical-align: top; border-top: 1px solid #d5d9d9; } document.getElementById('topBtn').addEventListener('click', scrollToTop); function scrollToTop() { window.scrollTo({ top: 0, behavior: 'smooth' }); } console.log(123) let item = document.querySelectorAll('.item'); let itemTitle = document.querySelectorAll('.itemTitle'); for (let i = 0; i < item.length; i++) { itemTitle[i].addEventListener('click', function() { if (item[i].className.includes('active')) { item[i].className = 'item'; } else { item[i].className = 'item active'; } }) } document.addEventListener("DOMContentLoaded", function () { const containers = findCarouselContainers(); const instances = containers.map((el) => new Carousel(el)); instances.forEach((ins) => ins.init()); window.addEventListener("resize", function () { instances.forEach((ins) => ins.rebind()); }); }); function findCarouselContainers() { const explicit = Array.from( document.querySelectorAll(".carousel-container") ); if (explicit.length) return explicit; const tracks = Array.from( document.querySelectorAll(".desktop-carousel, .mobile-carousel") ); const set = new Set(); tracks.forEach((t) => { if (t.parentElement) set.add(t.parentElement); }); return Array.from(set); } class Carousel { constructor(container) { this.container = container; this.leftBtn = container.querySelector(".carousel-btn.left"); this.rightBtn = container.querySelector(".carousel-btn.right"); this.desktopTrack = container.querySelector(".desktop-carousel"); this.mobileTrack = container.querySelector(".mobile-carousel"); this.currentSlide = 0; this.currentTrack = null; this.slides = []; this.autoPlayInterval = null; this.topbarEl = null; this.topbarInnerEl = null; this.labels = []; } enableDragScroll() { const el = this.topbarInnerEl; if (!el) return; let isDown = false; let startX = 0; let startScroll = 0; let moved = false; const getX = (e) => (e.touches ? e.touches[0].pageX : e.pageX); const onDown = (e) => { isDown = true; moved = false; el.classList.add("dragging"); startX = getX(e); startScroll = el.scrollLeft; }; const onMove = (e) => { if (!isDown) return; const x = getX(e); const dx = x - startX; if (Math.abs(dx) > 3) moved = true; el.scrollLeft = startScroll - dx; }; const onUp = () => { isDown = false; el.classList.remove("dragging"); setTimeout(() => { moved = false; }, 0); }; el.addEventListener("mousedown", onDown); el.addEventListener("mousemove", onMove); el.addEventListener("mouseup", onUp); el.addEventListener("mouseleave", onUp); el.addEventListener("touchstart", onDown, { passive: true, }); el.addEventListener("touchmove", onMove, { passive: true, }); el.addEventListener("touchend", onUp); this.preventClickWhenDrag = (btn) => { btn.addEventListener( "click", (evt) => { if (moved) evt.preventDefault(); }, true ); }; } getActiveTrack() { const desktopVisible = this.desktopTrack && window.getComputedStyle(this.desktopTrack).display !== "none"; return desktopVisible ? this.desktopTrack : this.mobileTrack; } ensureTopbar() { if (!this.currentTrack) return; const isNewCustom = this.container.classList.contains("newCustom"); if (!isNewCustom) return; const parent = this.container; const pos = window.getComputedStyle(parent).position; if (pos === "static") parent.style.position = "relative"; this.topbarEl = parent.querySelector(".carousel-topbar"); if (!this.topbarEl) { this.topbarEl = document.createElement("div"); this.topbarEl.className = "carousel-topbar"; this.topbarInnerEl = document.createElement("div"); this.topbarInnerEl.className = "carousel-topbar-inner"; this.topbarEl.appendChild(this.topbarInnerEl); parent.insertBefore(this.topbarEl, this.currentTrack); } else { this.topbarInnerEl = this.topbarEl.querySelector( ".carousel-topbar-inner" ); this.topbarInnerEl.innerHTML = ""; } } parseContainerLabelsAttr() { const raw = this.container.getAttribute("data-labels"); if (!raw) return null; try { const json = JSON.parse(raw); if (Array.isArray(json)) return json; } catch (e) { } return raw .split("|") .map((s) => s.trim()) .filter(Boolean); } buildLabels() { const fromContainer = this.parseContainerLabelsAttr(); if (fromContainer && fromContainer.length) { this.labels = fromContainer.slice(); return; } this.labels = Array.from(this.slides).map((img, i) => { return img.dataset.label || img.alt || `第${i + 1}张`; }); } buildTabs() { if (!this.topbarInnerEl) return; this.topbarInnerEl.innerHTML = ""; this.labels.forEach((text, idx) => { const btn = document.createElement("button"); btn.type = "button"; btn.className = "carousel-tab" + (idx === this.currentSlide ? " active" : ""); btn.textContent = text; btn.setAttribute("data-index", String(idx)); btn.addEventListener("click", () => { if (!this.slides.length) return; this.currentSlide = idx; this.update(true); this.restartAutoPlay(); }); if (typeof this.preventClickWhenDrag === "function") { this.preventClickWhenDrag(btn); } this.topbarInnerEl.appendChild(btn); }); this.enableDragScroll && this.enableDragScroll(); this.adjustParentPadding(); this.keepActiveTabVisible("auto"); } keepActiveTabVisible(behavior = "auto") { if (!this.topbarInnerEl) return; const active = this.topbarInnerEl.querySelector(".carousel-tab.active"); if (!active) return; const margin = 6; requestAnimationFrame(() => { const elRect = this.topbarInnerEl.getBoundingClientRect(); const itemRect = active.getBoundingClientRect(); const leftOverflow = itemRect.left - (elRect.left + margin); const rightOverflow = itemRect.right - (elRect.right - margin); let delta = 0; if (leftOverflow < 0) { delta = leftOverflow; } else if (rightOverflow > 0) { delta = rightOverflow; } if (itemRect.width >= elRect.width) { delta = itemRect.left - elRect.left; } if (delta !== 0) { this.topbarInnerEl.scrollBy({ left: delta, behavior, }); } }); } adjustParentPadding() { if (!this.topbarEl) return; const safeTop = parseFloat( getComputedStyle(document.documentElement).getPropertyValue( "env(safe-area-inset-top)" ) ) || 0; this.container.style.paddingTop = this.topbarEl.offsetHeight + safeTop + "px"; } updateActiveTab() { if (!this.topbarInnerEl) return; const tabs = this.topbarInnerEl.querySelectorAll(".carousel-tab"); tabs.forEach((t, i) => { if (i === this.currentSlide) t.classList.add("active"); else t.classList.remove("active"); }); } update(fromUI = false) { if (this.currentTrack) { this.currentTrack.style.transform = `translateX(-${ this.currentSlide * 100 }%)`; } this.updateActiveTab(); this.adjustParentPadding(); this.keepActiveTabVisible(fromUI ? "smooth" : "auto"); } bindControls() { if (this.leftBtn) { this.leftBtn.addEventListener( "click", (this.onLeftClickBound = () => { if (!this.currentTrack || !this.slides.length) return; this.currentSlide = (this.currentSlide - 1 + this.slides.length) % this.slides.length; this.update(true); this.restartAutoPlay(); }) ); } if (this.rightBtn) { this.rightBtn.addEventListener( "click", (this.onRightClickBound = () => { if (!this.currentTrack || !this.slides.length) return; this.currentSlide = (this.currentSlide + 1) % this.slides.length; this.update(true); this.restartAutoPlay(); }) ); } } startAutoPlay() { this.stopAutoPlay(); if(this.container.dataset.autoplay && this.container.dataset.autoplay === 'false') return this.autoPlayInterval = setInterval(() => { if (!this.currentTrack || this.slides.length === 0) return; this.currentSlide = (this.currentSlide + 1) % this.slides.length; this.update(); }, this.container.dataset.time || 5000); } stopAutoPlay() { if (this.autoPlayInterval) { clearInterval(this.autoPlayInterval); this.autoPlayInterval = null; } } restartAutoPlay() { this.stopAutoPlay(); this.startAutoPlay(); } init() { this.currentTrack = this.getActiveTrack(); this.slides = this.currentTrack ? this.currentTrack.querySelectorAll("img") : []; this.currentSlide = 0; this.ensureTopbar(); this.buildLabels(); this.buildTabs(); this.bindControls(); this.update(); this.startAutoPlay(); } rebind() { this.currentTrack = this.getActiveTrack(); this.slides = this.currentTrack ? this.currentTrack.querySelectorAll("img") : []; this.currentSlide = Math.min( this.currentSlide, Math.max(this.slides.length - 1, 0) ); this.ensureTopbar(); this.buildLabels(); this.buildTabs(); this.update(); this.restartAutoPlay(); } }
$329.00
$229.0030% OFF
Subscribe to Ovios Furniture coupon newsletter
Get notified of offers and coupon codes from Ovios Furniture before they expire!

















