1 Contact Information

2 Shipping Address

Tax & Shipping: These will be calculated based on your delivery state below. 3D Models are delivered instantly via download. Free shipping!

3 Payment Method

PayPal
Credit Card

You'll be redirected to PayPal to complete your purchase securely.

Your payment information is encrypted and secure. We never store your full card details.

Order Summary

Image

Fluid Curve Statement Chair

3D Model
$1.99
Image

Nordic Oak Conference Table

3D Model
$29.00
Image

Nordic Oak Conference Table

Physical
$899.00
$30.99
$899.00
$49.00
$0.00
Tax and shipping calculated based on delivery address
$1,052.34

By placing this order, you agree to our Terms of Service and Refund Policy

SSL Encrypted & Secure
function updateCheckoutSummary() { const stateCode = document.getElementById('state') ? document.getElementById('state').value : ''; const calc = calculateTaxAndShippingFromCheckout(stateCode); // Update summary values const subtotal3d = document.querySelector('.subtotal-3d'); const subtotalPhysical = document.querySelector('.subtotal-physical'); const shippingValue = document.querySelector('.shipping-value'); const taxValue = document.querySelector('.tax-value'); const totalSpan = document.querySelector('.summary-row.total span'); const taxRateNote = document.getElementById('tax-rate-note'); const shippingRegionNote = document.getElementById('shipping-region-note'); if (subtotal3d) subtotal3d.textContent = '$' + calc.subtotal3D.toFixed(2); if (subtotalPhysical) subtotalPhysical.textContent = '$' + calc.subtotalPhysical.toFixed(2); if (shippingValue) { shippingValue.textContent = calc.shipping > 0 ? '$' + calc.shipping.toFixed(2) : 'Free'; } if (taxValue) { if (calc.tax > 0) { taxValue.textContent = '$' + calc.tax.toFixed(2); } else { taxValue.textContent = '$0.00'; } } if (taxRateNote) { if (stateCode && calc.taxRate > 0) { taxRateNote.textContent = '(' + (calc.taxRate * 100).toFixed(2) + '% ' + stateCode + ')'; } else if (!stateCode) { taxRateNote.textContent = '(select state)'; } else { taxRateNote.textContent = '(no tax state)'; } } if (shippingRegionNote) { if (stateCode) { const region = getRegion(stateCode); shippingRegionNote.textContent = '(' + region + ' region)'; } else { shippingRegionNote.textContent = '(select state)'; } } if (totalSpan) { totalSpan.textContent = '$' + calc.total.toFixed(2); } } function calculateTaxAndShippingFromCheckout(stateCode) { const stateTaxRatesCheckout = {"AL": 0.0901, "AK": 0.0176, "AZ": 0.0847, "AR": 0.0954, "CA": 0.0881, "CO": 0.0742, "CT": 0.0635, "DE": 0.0, "DC": 0.06, "FL": 0.0705, "GA": 0.0731, "HI": 0.0435, "ID": 0.0603, "IL": 0.0874, "IN": 0.07, "IA": 0.0694, "KS": 0.0874, "KY": 0.06, "LA": 0.0945, "ME": 0.055, "MD": 0.06, "MA": 0.0625, "MI": 0.06, "MN": 0.07515, "MS": 0.0707, "MO": 0.08115, "MT": 0.0, "NE": 0.0694, "NV": 0.0784, "NH": 0.0, "NJ": 0.06595, "NM": 0.07695, "NY": 0.0852, "NC": 0.07, "ND": 0.0679, "OH": 0.0723, "OK": 0.0891, "OR": 0.0, "PA": 0.0634, "RI": 0.07, "SC": 0.0735, "SD": 0.064, "TN": 0.0947, "TX": 0.0819, "UT": 0.0725, "VT": 0.0618, "VA": 0.0577, "WA": 0.0935, "WV": 0.0638, "WI": 0.0565, "WY": 0.0542}; const shippingRatesCheckout = {"3d": 0, "small": {"west": 29, "central": 39, "east": 49}, "medium": {"west": 59, "central": 79, "east": 99}, "large": {"west": 129, "central": 169, "east": 199}, "xl": {"west": 199, "central": 249, "east": 299}}; const shippingTaxableStatesCheckout = ["AR", "CT", "DC", "GA", "HI", "IN", "KY", "MN", "MS", "NE", "NJ", "NM", "NY", "NC", "ND", "OH", "PA", "RI", "SC", "SD", "TN", "TX", "VT", "WA", "WV", "WI"]; const noTaxStatesCheckout = ["OR", "MT", "NH", "DE", "AK"]; const westStatesCheckout = ["CA", "WA", "OR", "NV", "AZ", "CO", "UT", "ID", "MT", "WY", "AK", "HI"]; const centralStatesCheckout = ["TX", "OK", "KS", "NE", "SD", "ND", "MN", "IA", "MO", "WI", "IL", "IN", "OH", "MI", "KY", "TN", "AR", "LA", "NM"]; function getRegionCheckout(code) { if (westStatesCheckout.includes(code)) return 'west'; if (centralStatesCheckout.includes(code)) return 'central'; return 'east'; } // Calculate from summary items const summaryItems = document.querySelectorAll('.summary-item'); let subtotal3D = 0; let subtotalPhysical = 0; let hasPhysical = false; summaryItems.forEach(item => { const priceText = item.querySelector('.summary-item-price').textContent; const price = parseFloat(priceText.replace('$', '').replace(',', '')); const tag = item.querySelector('.summary-item-tag'); if (tag && tag.classList.contains('tag-3d')) { subtotal3D += price; } else if (tag && tag.classList.contains('tag-physical')) { subtotalPhysical += price; hasPhysical = true; } }); // Calculate shipping let shipping = 0; if (hasPhysical && stateCode) { const region = getRegionCheckout(stateCode); shipping = shippingRatesCheckout.medium[region]; } else if (hasPhysical) { shipping = 99; // Default estimate } // Calculate tax let taxRate = 0; let tax = 0; if (stateCode && !noTaxStatesCheckout.includes(stateCode)) { taxRate = stateTaxRatesCheckout[stateCode] || 0; tax = subtotalPhysical * taxRate; if (shippingTaxableStatesCheckout.includes(stateCode) && shipping > 0) { tax += shipping * taxRate; } } const total = subtotal3D + subtotalPhysical + shipping + tax; return { subtotal3D: subtotal3D, subtotalPhysical: subtotalPhysical, shipping: shipping, taxRate: taxRate, tax: tax, total: total, stateCode: stateCode }; } function getRegion(stateCode) { const westStatesFn = ["CA", "WA", "OR", "NV", "AZ", "CO", "UT", "ID", "MT", "WY", "AK", "HI"]; const centralStatesFn = ["TX", "OK", "KS", "NE", "SD", "ND", "MN", "IA", "MO", "WI", "IL", "IN", "OH", "MI", "KY", "TN", "AR", "LA", "NM"]; if (westStatesFn.includes(stateCode)) return 'west'; if (centralStatesFn.includes(stateCode)) return 'central'; return 'east'; }