{"id":7900,"date":"2026-09-09T23:50:23","date_gmt":"2026-09-10T06:50:23","guid":{"rendered":"https:\/\/www.lastelegance.com\/en\/?page_id=7900"},"modified":"2026-09-16T19:58:22","modified_gmt":"2026-09-17T02:58:22","slug":"decking-calculator","status":"publish","type":"page","link":"https:\/\/www.lastelegance.com\/en\/decking-calculator\/","title":{"rendered":"Decking Calculator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7900\" class=\"elementor elementor-7900\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2a920e01 ledc-page ledc-hero elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2a920e01\" data-element_type=\"section\" data-e-type=\"section\" id=\"decking-overview\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-71ca015b\" data-id=\"71ca015b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-53c38b9 elementor-widget elementor-widget-heading\" data-id=\"53c38b9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Composite Decking Calculator<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-47f16acb ledc-hero-lead elementor-widget elementor-widget-text-editor\" data-id=\"47f16acb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<strong>For contractors, builders &amp; estimators.<\/strong> Calculate boards and accessory allowances for multiple areas and repeat layouts, then request a trade supply quote.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7781e27e elementor-widget elementor-widget-text-editor\" data-id=\"7781e27e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"ledc-hero-strip\"><strong>Multi-area &amp; repeat layouts<\/strong>5 profiles \u00b7 6 colors<strong>500 m\u00b2 (approx. 5,382 sq ft) standard MOQ<\/strong><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-65d7f79c ledc-page ledc-tool ledc elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"65d7f79c\" data-element_type=\"section\" data-e-type=\"section\" id=\"decking-calculator\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-37cf0fe4\" data-id=\"37cf0fe4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-643bd7e5 elementor-widget elementor-widget-html\" data-id=\"643bd7e5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n\/* Scoped to the calculator and its Elementor page sections. *\/\n.ledc,.ledc-page{--le-primary:#569506;--le-secondary:#457705;--le-text:#495057;--le-accent:#579606;--le-line:rgba(73,80,87,.19);font-family:Arial,Helvetica,sans-serif;color:#495057;font-size:16px;line-height:1.65;text-align:left}.ledc *,.ledc-page *{box-sizing:border-box}.ledc{max-width:1200px;margin:auto;padding:0 24px}.ledc [hidden]{display:none!important}.ledc h2,.ledc h3,.ledc-page h1,.ledc-page h2,.ledc-page h3,.ledc-page .elementor-heading-title{font-family:Arial,Helvetica,sans-serif!important;color:#000000;font-weight:700;letter-spacing:-.035em;line-height:1.17;text-transform:none}.ledc h2{font-size:27px!important;margin:8px 0 18px}.ledc h3{font-size:19px!important;margin:0}.ledc p{margin:0 0 16px}.ledc p:last-child{margin-bottom:0}.ledc a,.ledc-page a{color:var(--le-secondary);text-underline-offset:4px}.ledc a:hover,.ledc-page a:hover{color:#000000}.ledc a:focus-visible,.ledc button:focus-visible,.ledc summary:focus-visible,.ledc input:focus-visible,.ledc select:focus-visible,.ledc textarea:focus-visible,.ledc-page a:focus-visible{outline:3px solid var(--le-primary);outline-offset:3px}.ledc button{font-family:inherit;cursor:pointer;transition:background-color .15s;border-radius:4px;box-shadow:none;text-transform:none;letter-spacing:normal;white-space:normal}.ledc button:disabled{cursor:not-allowed;opacity:.5}.ledc .ledc-button,.ledc-page .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:50px;background:var(--le-secondary);color:#FFFFFF;border:1px solid var(--le-secondary);font-size:15px;font-weight:700;padding:15px 22px;text-decoration:none;border-radius:4px}.ledc .ledc-button:hover,.ledc-page .elementor-button:hover{background:#000000;color:#FFFFFF;border-color:#000000}.ledc .ledc-button span{font-size:21px;line-height:1}.ledc .ledc-full{width:100%}.ledc .ledc-eyebrow,.ledc-page .ledc-eyebrow{display:block;font-size:11px;letter-spacing:.15em;color:var(--le-secondary);font-weight:700;line-height:1.5}.ledc .ledc-small{font-size:12px;line-height:1.65}.ledc .ledc-help{font-size:14px}.ledc .ledc-help.ledc-small{font-size:12px}.ledc .ledc-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--le-line);border-radius:8px 8px 0 0;background:#FFFFFF;overflow:hidden}.ledc .ledc-tabs button{position:relative;display:grid;grid-template-columns:36px 1fr;gap:2px 14px;padding:25px 28px;text-align:left;background:#FFFFFF;border:0;border-bottom:4px solid transparent;border-radius:0;color:var(--le-text)}.ledc .ledc-tabs button+button{border-left:1px solid var(--le-line)}.ledc .ledc-tabs button[aria-selected=true]{background:rgba(86,149,6,.065);border-bottom-color:var(--le-primary)}.ledc .ledc-tabs strong{color:#000000;font-size:19px;line-height:1.35}.ledc .ledc-tabs span{grid-row:span 2;font-size:12px;color:var(--le-secondary);padding-top:5px}.ledc .ledc-tabs small{font-size:12px;font-weight:400}.ledc .ledc-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);border:1px solid var(--le-line);border-top:0;background:#FFFFFF;border-radius:0 0 8px 8px;overflow:hidden}.ledc .ledc-inputs{padding:32px;min-width:0}.ledc .ledc-stephead{display:flex;align-items:center;justify-content:space-between;gap:20px}.ledc .ledc-stephead h2{max-width:500px}.ledc .ledc-link-button{border:0;background:transparent;padding:7px 0;color:var(--le-secondary);text-decoration:underline;text-underline-offset:4px;font-size:12px;font-weight:700;min-height:40px}.ledc .ledc-link-button:hover{color:#000000}.ledc .ledc-settings{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:rgba(86,149,6,.06);padding:18px;border-radius:4px;margin:20px 0 10px}.ledc label{display:block;font-size:12px;font-weight:700;color:#000000;line-height:1.5}.ledc .ledc-unit{font-weight:400;color:var(--le-text)}.ledc input:not([type=checkbox]):not([type=hidden]),.ledc select,.ledc textarea{display:block;width:100%;font-family:inherit;font-size:14px;font-weight:400;line-height:1.4;color:#495057;background:#FFFFFF;border:1px solid rgba(73,80,87,.4);border-radius:4px;min-height:44px;padding:11px 12px;margin:6px 0 0;box-shadow:none}.ledc input[type=checkbox]{accent-color:var(--le-secondary);width:16px;height:16px;vertical-align:middle;margin:0 8px 0 0}.ledc textarea{resize:vertical}.ledc .ledc-item{border:1px solid var(--le-line);border-radius:5px;margin-top:18px;overflow:hidden}.ledc .ledc-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(73,80,87,.035);padding:12px 17px}.ledc .ledc-item-head span{font-size:12px;font-weight:700;color:#000000}.ledc .ledc-item-actions{display:flex;gap:14px}.ledc .ledc-item-actions button{padding:3px;background:transparent;border:0;color:var(--le-secondary);font-size:12px;text-decoration:underline;text-underline-offset:3px;min-height:32px}.ledc .ledc-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;padding:18px}.ledc .ledc-fields .ledc-wide{grid-column:1\/-1}.ledc .ledc-fields .ledc-product-link{font-size:11px;font-weight:400;display:inline-block;margin-top:8px}.ledc .ledc-add{display:block;width:100%;padding:13px;margin:16px 0 24px;border:1px dashed var(--le-secondary);background:#FFFFFF;font-weight:700;font-size:13px;color:var(--le-secondary);min-height:46px}.ledc .ledc-add:hover{background:rgba(86,149,6,.05)}.ledc .ledc-calculate-row{display:flex;align-items:center;gap:20px;margin:20px 0 12px}.ledc .ledc-error{border:2px solid #000000;border-left:5px solid var(--le-secondary);padding:15px;font-size:14px;background:#FFFFFF;margin:14px 0}.ledc .ledc-results{min-width:0;padding:32px 28px;background:rgba(86,149,6,.055);border-left:1px solid var(--le-line)}.ledc .ledc-result-head{padding-bottom:20px;border-bottom:1px solid var(--le-line);margin-bottom:28px}.ledc .ledc-result-status{display:inline-block;font-size:11px;margin-top:10px;color:var(--le-text)}.ledc .ledc-board-drawing{height:130px;display:flex;gap:10px;align-items:center;justify-content:center;transform:skewY(-9deg);margin:28px 15px 40px}.ledc .ledc-board-drawing i{height:105px;width:37px;border:1px solid var(--le-secondary);border-right-width:6px;border-bottom-width:5px;background:rgba(86,149,6,.13);border-radius:2px}.ledc .ledc-results ul{padding-left:18px;font-size:13px;margin:20px 0}.ledc .ledc-results li{margin:8px 0}.ledc .ledc-big-number strong{font-size:clamp(38px,4.4vw,60px);font-weight:700;letter-spacing:-.065em;line-height:1.1;display:block;color:#000000;overflow-wrap:anywhere}.ledc .ledc-big-number span{display:block;font-size:13px;margin:8px 0 28px}.ledc .ledc-metrics{display:grid;grid-template-columns:1fr 1fr;gap:22px 15px;border-top:1px solid var(--le-line);padding-top:23px}.ledc .ledc-metrics strong{display:block;font-size:23px;font-weight:700;line-height:1.25;color:#000000;letter-spacing:-.03em;overflow-wrap:anywhere}.ledc .ledc-metrics span{display:block;font-size:11px;line-height:1.5;margin-top:6px}.ledc .ledc-moq{font-size:12px;border-left:3px solid var(--le-primary);padding:0 0 0 13px;margin:26px 0}.ledc .ledc-export{display:flex;flex-wrap:wrap;gap:16px;border-top:1px solid var(--le-line);padding:18px 0;margin-top:22px}.ledc .ledc-export button{background:transparent;border:0;color:var(--le-secondary);text-decoration:underline;text-underline-offset:3px;padding:5px 0;font-size:12px;min-height:32px}.ledc .ledc-results-foot{border-top:1px solid var(--le-line);padding-top:25px;margin-top:24px;font-size:12px}.ledc .ledc-results-foot strong{display:block;color:#000000;margin-bottom:9px}.ledc .ledc-status{font-size:12px}.ledc .ledc-status:not(:empty){margin-top:18px}.ledc .ledc-schedule{padding:45px 0}.ledc .ledc-table-scroll,.ledc-page .ledc-table-scroll{overflow-x:auto;border:1px solid var(--le-line);border-radius:5px;width:100%}.ledc table,.ledc-page table{border-collapse:collapse;width:100%;font-size:13px;margin:0}.ledc td,.ledc th,.ledc-page td,.ledc-page th{padding:15px 16px;text-align:left;border:0;border-bottom:1px solid var(--le-line);vertical-align:top;background:transparent;line-height:1.5}.ledc thead th,.ledc-page thead th{background:rgba(86,149,6,.06);color:#000000;font-size:12px}.ledc tbody th{font-weight:400}.ledc td strong{color:#000000;display:block}.ledc td small{display:block;font-size:11px}.ledc .ledc-detail,.ledc-page details{border-bottom:1px solid var(--le-line);padding:18px 0;margin-bottom:18px}.ledc summary,.ledc-page summary{font-weight:700;color:#000000;cursor:pointer;font-size:15px}.ledc .ledc-line-detail{border-top:1px solid var(--le-line);padding:16px 0;font-size:13px}.ledc .ledc-line-detail:first-child{margin-top:20px}.ledc .ledc-line-detail p{margin:8px 0 0}.ledc .ledc-quote{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;background:rgba(86,149,6,.055);border-top:4px solid var(--le-primary);border-radius:5px;padding:40px;margin:10px 0 40px}.ledc .ledc-quote-intro h2{font-size:35px!important}.ledc .ledc-notice{border-left:3px solid var(--le-primary);background:#FFFFFF;padding:20px;margin:24px 0;font-size:13px}.ledc .ledc-notice strong{display:block;color:#000000;margin-bottom:8px}.ledc .ledc-quote-body{padding:28px;background:#FFFFFF;border:1px solid var(--le-line);border-radius:5px;min-width:0}.ledc .ledc-quote-fields>label{margin-bottom:18px}.ledc .ledc-accessories{border:0;padding:0;margin:22px 0}.ledc .ledc-accessories legend{font-size:12px;font-weight:700;color:#000000;margin:0 0 8px;padding:0}.ledc .ledc-accessories label{font-size:12px;font-weight:400;margin:10px 0}.ledc .ledc-fluent-form .ff-el-group{margin:0 0 18px}.ledc .ledc-fluent-form .ff-el-form-check-label{font-weight:400;font-size:12px;margin-top:8px}.ledc .ledc-fluent-form .ff-btn-submit{background:var(--le-secondary)!important;color:#FFFFFF!important;border:0!important;padding:15px!important;min-height:50px;font-size:15px;font-weight:700;width:100%;border-radius:4px}.ledc .ledc-fluent-form .ff-btn-submit:hover{background:#000000!important}.ledc .ledc-summary-carrier{display:none!important}.ledc .ledc-form-message:not(:empty){padding:12px 0;font-size:12px}.ledc .ledc-print-only{display:none}\n.ledc-page>.elementor-container{max-width:1200px!important;padding:58px 24px;margin:auto}.ledc-page .elementor-widget-wrap{padding:0!important;display:flex;flex-direction:column;gap:0}.ledc-page .elementor-widget{margin-bottom:18px}.ledc-page .elementor-column{min-width:0}.ledc-page .elementor-widget:last-child{margin-bottom:0}.ledc-page h1.elementor-heading-title{font-size:clamp(38px,4.6vw,66px)!important;max-width:900px;line-height:1.05!important}.ledc-page h2.elementor-heading-title{font-size:34px!important;line-height:1.2!important;max-width:860px}.ledc-page .elementor-widget-text-editor{font-size:16px!important;color:#495057;line-height:1.7}.ledc-page p{margin:0 0 15px}.ledc-page p:last-child{margin:0}.ledc-page.ledc-hero>.elementor-container{padding-top:40px;padding-bottom:34px}.ledc-page .ledc-hero-lead{max-width:880px;font-size:18px!important}.ledc-page .ledc-hero-strip{display:flex;flex-wrap:wrap;gap:10px 35px;border-top:1px solid var(--le-line);border-bottom:1px solid var(--le-line);padding:18px 0;margin-top:15px;font-size:12px}.ledc-page .ledc-hero-strip strong{color:#000000}.ledc-page.ledc-tint{background:rgba(86,149,6,.055)}.ledc-page .ledc-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.ledc-page .ledc-info-grid article{border:1px solid var(--le-line);background:#FFFFFF;padding:25px;border-radius:4px;font-size:14px}.ledc-page .ledc-info-grid h3{font-size:22px;margin:9px 0 16px}.ledc-page .ledc-info-grid span{font-size:11px;letter-spacing:.1em;color:var(--le-secondary)}.ledc-page .ledc-example{border-left:4px solid var(--le-primary);padding:22px;background:rgba(86,149,6,.05)}.ledc-page .ledc-small{font-size:12px}.ledc-page details p{font-size:15px;padding-top:12px}.ledc-page .ledc-product-links{display:flex;gap:15px;flex-wrap:wrap}.ledc-page .ledc-product-links a{padding:12px 18px;border:1px solid var(--le-line);border-radius:4px;font-weight:700;text-decoration:none;font-size:14px}.ledc-page.ledc-tool>.elementor-container{padding:0;max-width:none!important}.ledc-page.ledc-tool .elementor-column{width:100%}\n@media(max-width:1000px){.ledc .ledc-workspace{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr)}.ledc .ledc-inputs{padding:24px}.ledc .ledc-results{padding:25px 20px}.ledc .ledc-stephead{align-items:flex-start;flex-direction:column;gap:0}.ledc .ledc-quote{gap:25px;padding:30px}.ledc .ledc-fields{padding:15px;gap:13px}.ledc-page .ledc-info-grid{gap:16px}}\n@media(max-width:767px){.ledc{padding:0 18px}.ledc .ledc-tabs button{grid-template-columns:1fr;padding:17px 13px;gap:4px}.ledc .ledc-tabs span{grid-row:auto;font-size:10px}.ledc .ledc-tabs strong{font-size:15px}.ledc .ledc-tabs small{font-size:10px}.ledc .ledc-workspace{grid-template-columns:1fr}.ledc .ledc-inputs{padding:24px 17px}.ledc .ledc-results{padding:28px 22px;border-left:0;border-top:1px solid var(--le-line)}.ledc .ledc-settings{padding:14px;gap:12px}.ledc .ledc-fields{gap:14px 12px;padding:16px}.ledc .ledc-fields label.ledc-product,.ledc .ledc-fields label.ledc-color{grid-column:1\/-1}.ledc .ledc-calculate-row{align-items:stretch;flex-direction:column;gap:5px}.ledc .ledc-calculate-row .ledc-button{width:100%}.ledc .ledc-quote{grid-template-columns:1fr;padding:24px 17px;gap:24px}.ledc .ledc-quote-body{padding:20px 17px}.ledc .ledc-quote-intro h2{font-size:30px!important}.ledc .ledc-schedule table{min-width:640px}.ledc .ledc-schedule{padding-top:30px}.ledc-page>.elementor-container{padding:40px 18px}.ledc-page.ledc-hero>.elementor-container{padding:28px 18px}.ledc-page h2.elementor-heading-title{font-size:29px!important}.ledc-page .ledc-hero-strip{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ledc-page .ledc-info-grid{grid-template-columns:1fr}.ledc-page table{min-width:570px}.ledc-page .ledc-hero-lead{font-size:16px!important}}\n@media(prefers-reduced-motion:reduce){.ledc *{transition:none!important;scroll-behavior:auto!important}}\n@media print{body.ledc-printing *{visibility:hidden!important}body.ledc-printing .ledc-print-only,body.ledc-printing .ledc-print-only *{visibility:visible!important}body.ledc-printing .ledc-print-only{display:block!important;position:absolute;left:0;top:0;width:100%;padding:20px;background:#FFFFFF;font-family:Arial,sans-serif;font-size:11px}body.ledc-printing .ledc-print-only pre{white-space:pre-wrap;word-break:break-word;font:11px\/1.6 Arial,sans-serif}}\n\n.ledc-page h1,.ledc-page h2,.ledc-page h3{margin:0}\n@media(max-width:767px){.ledc input:not([type=checkbox]):not([type=hidden]),.ledc select,.ledc textarea{font-size:16px}.ledc label{font-size:13px}}\n\n.ledc-print-sheet{display:none}\n@media print{body.ledc-printing>*{display:none!important}body.ledc-printing>.ledc-print-sheet{display:block!important;visibility:visible!important;background:#FFFFFF;color:#000000;font:12px\/1.6 Arial,sans-serif}body.ledc-printing>.ledc-print-sheet *{visibility:visible!important}body.ledc-printing>.ledc-print-sheet h1{font:700 20px\/1.3 Arial,sans-serif}body.ledc-printing>.ledc-print-sheet pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px\/1.6 Arial,sans-serif}}\n\n#decking-calculator.ledc .ledc-fluent-form .ff-btn-submit{background:#457705!important;color:#FFFFFF!important;box-shadow:none!important}#decking-calculator.ledc .ledc-fluent-form .ff-btn-submit:hover{background:#000000!important}.ledc .ledc-quote,.ledc .ledc-results,.ledc-page[id],.ledc[id]{scroll-margin-top:100px}\n\n#decking-calculator.ledc .ledc-fluent-form .ff-btn-submit{background:#457705!important;color:#FFFFFF!important;box-shadow:none!important}#decking-calculator.ledc .ledc-fluent-form .ff-btn-submit:hover{background:#000000!important}.ledc .ledc-quote,.ledc .ledc-results,.ledc-page[id],.ledc[id]{scroll-margin-top:100px}\n\n.ledc .ledc-bulk-link{padding:20px 24px;margin:24px 0;background:rgba(86,149,6,.05);border-left:3px solid #569506;color:#495057}.ledc .ledc-bulk-link a{color:#457705;font-weight:700;text-decoration:underline}.ledc .ledc-bulk-link small{display:block;margin-top:6px}\n\n\/* Version 1.2: compact entry, explicit quantities and short inquiry. *\/\n.ledc .ledc-workspace{border-top:1px solid var(--le-line);border-radius:8px}.ledc .ledc-inputs{padding-top:24px}.ledc .ledc-assumptions-title{margin:22px 0 0}.ledc .ledc-area-options{padding:10px 0;border-top:1px solid var(--le-line)}.ledc .ledc-area-options summary{font-size:12px}.ledc .ledc-area-options label{margin-top:12px}.ledc .ledc-direction-preview{border-top:1px solid var(--le-line);padding-top:14px}.ledc .ledc-direction-diagram{display:grid;grid-template-columns:150px 1fr;gap:5px 12px;align-items:center;font-size:12px;margin:0 0 10px}.ledc .ledc-diagram-length{grid-column:1\/-1}.ledc .ledc-diagram-board{height:66px;border:1px solid #457705;background:repeating-linear-gradient(0deg,rgba(86,149,6,.13) 0px,rgba(86,149,6,.13) 10px,#FFFFFF 10px,#FFFFFF 12px);display:flex;align-items:center;justify-content:center;color:#000000;font-size:28px;font-weight:700}.ledc .ledc-diagram-board.ledc-vertical{background:repeating-linear-gradient(90deg,rgba(86,149,6,.13) 0px,rgba(86,149,6,.13) 10px,#FFFFFF 10px,#FFFFFF 12px)}.ledc .ledc-join-note{font-size:12px;border-left:3px solid #569506;padding-left:10px}.ledc .ledc-breakdown{margin-bottom:20px}.ledc .ledc-breakdown>div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-top:1px solid var(--le-line);font-size:13px}.ledc .ledc-breakdown strong{color:#000000;font-size:18px}.ledc .ledc-estimate-note{font-size:12px;margin:20px 0}.ledc .ledc-material-detail{font-size:12px;margin:15px 0}.ledc .ledc-material-detail summary{font-size:12px}.ledc .ledc-material-detail p{margin-top:12px}.ledc .ledc-quote-summary{padding:18px;background:rgba(86,149,6,.06);margin-bottom:24px;font-size:13px;border-left:3px solid #569506}.ledc .ledc-quote-summary p{margin:8px 0}.ledc .ledc-quote-summary summary{font-size:12px}.ledc .ledc-quote-summary pre{font:12px\/1.6 Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto;margin:12px 0 0;background:#FFFFFF;padding:12px}.ledc .ledc-optional{padding:15px 0;margin:18px 0;border-top:1px solid var(--le-line)}.ledc .ledc-optional summary{font-size:13px}.ledc .ledc-optional>label{margin-top:18px}.ledc .ledc-quote{grid-template-columns:minmax(230px,1fr) minmax(0,1.4fr);gap:30px}.ledc-page.ledc-hero>.elementor-container{padding-top:24px;padding-bottom:22px}.ledc-page.ledc-hero .elementor-widget{margin-bottom:10px}.ledc-page .ledc-hero-strip{padding:10px 0;margin-top:0;gap:8px 25px}.ledc-page h1.elementor-heading-title{font-size:clamp(32px,4vw,56px)!important}.ledc-page .ledc-hero-lead{max-width:900px}.ledc-page.ledc-hero .elementor-widget-text-editor{font-size:15px!important}\n@media(max-width:767px){.ledc-page.ledc-hero>.elementor-container{padding:18px}.ledc-page .ledc-hero-strip{display:flex;font-size:11px;gap:8px 14px}.ledc .ledc-inputs{padding-top:18px}.ledc .ledc-direction-diagram{grid-template-columns:125px 1fr}.ledc .ledc-quote{grid-template-columns:1fr}.ledc .ledc-big-number span{margin-bottom:16px}}\n\n\/* HTML edition: native Elementor section owns the calculator and shortcode. *\/\n#decking-calculator.ledc .ledc-quote{display:block}\n#decking-calculator.ledc .ledc-quote:not([data-quote]){display:none}\n#decking-calculator.ledc .ledc-quote>.elementor-container{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,1.4fr);gap:30px;padding:0;max-width:none}\n#decking-calculator.ledc .ledc-quote .elementor-column{width:100%;min-width:0}\n#decking-calculator.ledc .ledc-quote .elementor-widget-wrap{padding:0!important}\n#decking-calculator.ledc .elementor-widget-html{min-width:0}\n#decking-calculator.ledc .ledc-quote-fields-home:empty{display:none}\n.elementor-editor-active #decking-calculator.ledc .ledc-quote{display:block!important}\n#decking-calculator.ledc button,#decking-calculator.ledc input[type=submit]{background-image:none!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;transform:none!important;transition:none!important;-webkit-tap-highlight-color:rgba(86,149,6,.15)}\n\/* Fully declare resting, hover, focus and active colors; contain theme overrides. *\/\n#decking-calculator.ledc button[data-action],#decking-calculator.ledc button[data-action]:is(:hover,:focus,:focus-visible,:active){background-color:transparent!important;color:#457705!important;border-color:transparent!important}\n#decking-calculator.ledc button[data-action]:is(:hover,:active){color:#000000!important}\n#decking-calculator.ledc button.ledc-add,#decking-calculator.ledc button.ledc-add:is(:hover,:focus,:focus-visible,:active){background-color:#FFFFFF!important;border-color:#457705!important;color:#457705!important}\n#decking-calculator.ledc button.ledc-add:is(:hover,:active){background-color:rgba(86,149,6,.06)!important}\n#decking-calculator.ledc button.ledc-button,#decking-calculator.ledc button.ledc-button:is(:focus,:focus-visible),#decking-calculator.ledc .ledc-fluent-form [type=submit],#decking-calculator.ledc .ledc-fluent-form [type=submit]:is(:focus,:focus-visible){background-color:#457705!important;border-color:#457705!important;color:#FFFFFF!important}\n#decking-calculator.ledc button.ledc-button:is(:hover,:active),#decking-calculator.ledc .ledc-fluent-form [type=submit]:is(:hover,:active){background-color:#000000!important;border-color:#000000!important;color:#FFFFFF!important}\n#decking-calculator.ledc button:focus-visible,#decking-calculator.ledc [type=submit]:focus-visible{outline:3px solid #569506!important;outline-offset:3px!important}\n#decking-calculator.ledc button:disabled{opacity:.5!important;cursor:not-allowed!important}\n#decking-calculator.ledc button[data-action]:disabled{background-color:transparent!important;color:#495057!important}\n@media(max-width:767px){#decking-calculator.ledc .ledc-quote>.elementor-container{grid-template-columns:minmax(0,1fr);gap:24px}}\n\n\n#decking-calculator.ledc .ledc-area-settings{align-items:center}#decking-calculator.ledc .ledc-accessory-estimates{margin:22px 0;padding:18px 0;border-top:1px solid rgba(73,80,87,.2);border-bottom:1px solid rgba(73,80,87,.2)}#decking-calculator.ledc .ledc-accessory-estimates h3{margin-bottom:12px}#decking-calculator.ledc .ledc-accessory-estimates dl{margin:0 0 12px}#decking-calculator.ledc .ledc-accessory-estimates dl>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0}#decking-calculator.ledc .ledc-accessory-estimates dt{font-size:13px;font-weight:700;line-height:1.5}#decking-calculator.ledc .ledc-accessory-estimates dt small{display:block;font-size:11px;font-weight:400}#decking-calculator.ledc .ledc-accessory-estimates dd{margin:0;text-align:right;font-size:14px}#decking-calculator.ledc .ledc-accessory-estimates dd span{display:block;font-size:11px}#decking-calculator.ledc .ledc-accessory-estimates strong{color:#457705;font-size:20px}\n<\/style>\n  <noscript><div class=\"ledc-notice\">Enable JavaScript to calculate quantities, or email your dimensions and product requirements to <a href=\"mailto:xuan@lastelegance.com\">xuan@lastelegance.com<\/a>.<\/div><\/noscript>\n<div class=\"ledc-workspace\">\n    <div class=\"ledc-inputs\">\n      <section id=\"ledc-panel-project\" aria-label=\"Project quantities\">\n        <div class=\"ledc-stephead\"><div><span class=\"ledc-eyebrow\">BUILD YOUR SCHEDULE<\/span><h2>Plan one area. Repeat as needed.<\/h2><\/div><button class=\"ledc-link-button\" type=\"button\" data-action=\"example\">Load worked example<\/button><\/div>\n        <p class=\"ledc-help\">Add rectangular areas and repeat layouts for multi-home or commercial projects. Each area can use its own profile and color.<\/p>\n        <div data-project-lines><\/div>\n        <button class=\"ledc-add\" type=\"button\" data-action=\"add-project\">+ Add another area<\/button>\n<h3 class=\"ledc-assumptions-title\">Board waste allowance<\/h3><div class=\"ledc-settings ledc-area-settings\"><label>Board waste allowance <span class=\"ledc-unit\">%<\/span><input type=\"number\" data-waste min=\"0\" max=\"25\" step=\"0.5\" value=\"10\" inputmode=\"decimal\" aria-describedby=\"ledc-waste-help\"><\/label><p class=\"ledc-small\">Boards = area \u00f7 nominal board area, with the waste allowance applied before rounding up.<\/p><\/div><p class=\"ledc-help ledc-small\" id=\"ledc-waste-help\">Use 0% for the theoretical quantity. The editable 10% default is a planning assumption; adjust for cutting and the laying pattern. Accessories use the original area, without this uplift.<\/p>\n      <\/section>\n<div class=\"ledc-error\" role=\"alert\" tabindex=\"-1\" data-error hidden><\/div>\n      <div class=\"ledc-calculate-row\"><button type=\"button\" class=\"ledc-button\" data-action=\"calculate\">Calculate material list <span aria-hidden=\"true\">\u2197<\/span><\/button><button type=\"button\" class=\"ledc-link-button\" data-action=\"reset\">Reset calculator<\/button><\/div>\n      <p class=\"ledc-small ledc-help\">Estimates include boards and area-based allowances for joists, fixing clips and starter clips. Confirm compatible parts and installation quantities. Maximum 20 project areas.<\/p>\n    <\/div>\n    <aside class=\"ledc-results\" aria-label=\"Your material estimate\">\n      <div class=\"ledc-result-head\"><span class=\"ledc-eyebrow\">YOUR MATERIAL ESTIMATE<\/span><span class=\"ledc-result-status\" data-result-status>Ready when you are<\/span><\/div>\n      <div data-empty><div class=\"ledc-board-drawing\" aria-hidden=\"true\"><i><\/i><i><\/i><i><\/i><i><\/i><i><\/i><\/div><h2>A clear list for your next order.<\/h2><p>Enter your area dimensions and choose a profile. Your board count, joists, clip allowances and color schedule will appear here.<\/p><ul><li>Five standard decking profiles<\/li><li>Six coordinated colors<\/li><li>Multiple areas and repeat layouts<\/li><\/ul><\/div>\n      <div data-results hidden>\n        <div class=\"ledc-big-number\"><strong data-total-boards>0<\/strong><span>total estimated full-length boards<\/span><\/div>\n        <div class=\"ledc-breakdown\"><div><span>Base boards (0% waste)<\/span><strong data-total-base>0<\/strong><\/div><div><span>Additional boards for waste<\/span><strong data-total-spares>0<\/strong><\/div><\/div>\n        <div class=\"ledc-metrics\"><div data-project-area-metric><strong data-total-area>0<\/strong><span>sq ft project area<\/span><\/div><div><strong data-total-lm>0<\/strong><span>linear ft incl. waste<\/span><\/div><\/div>\n        <p class=\"ledc-estimate-note\">Area-based estimate, with board waste applied before rounding. Cutting patterns, borders and joint layout still require review.<\/p>\n        <details class=\"ledc-material-detail\"><summary>Material face &amp; net weight<\/summary><p><strong data-total-face>0<\/strong> sq ft nominal material face<br><strong data-total-weight>0<\/strong> lb estimated net board weight<\/p><p>Material face differs from installed area. Net weight excludes accessories and packaging.<\/p><\/details>\n<div class=\"ledc-accessory-estimates\"><h3>Accessory allowances<\/h3><dl><div><dt>Joists <small>1.2192 linear ft \/ sq ft<\/small><\/dt><dd><strong data-total-joists>0<\/strong> <span>linear ft<\/span><\/dd><\/div><div><dt>Fixing clips <small>\u2248 2.3226 sets \/ sq ft<\/small><\/dt><dd><strong data-total-fixing-clips>0<\/strong> <span>sets<\/span><\/dd><\/div><div><dt>Starter clips <small>\u2248 0.4645 sets \/ sq ft \u00b7 provisional<\/small><\/dt><dd><strong data-total-starter-clips>0<\/strong> <span>sets<\/span><\/dd><\/div><\/dl><p class=\"ledc-small\">Based on project area, without board waste. Starter clips depend on the actual starting edges and perimeter; large decks often require fewer. Confirm the compatible system for each profile.<\/p><\/div>\n        <p class=\"ledc-moq\" data-moq><\/p>\n        <button class=\"ledc-button ledc-full\" type=\"button\" data-action=\"quote\">Request a quote for this list <span aria-hidden=\"true\">\u2197<\/span><\/button>\n        <p class=\"ledc-small\">Your material list travels with your inquiry.<\/p>\n        <div class=\"ledc-export\"><button type=\"button\" data-action=\"copy\">Copy list<\/button><button type=\"button\" data-action=\"csv\">Download CSV<\/button><button type=\"button\" data-action=\"print\">Print \/ PDF<\/button><\/div>\n      <\/div>\n      <div class=\"ledc-status\" aria-live=\"polite\" data-status><\/div>\n      <div class=\"ledc-results-foot\"><strong>China-made. US trade supply.<\/strong><p>Standard MOQ: 500 m\u00b2 (approx. 5,382 sq ft). Ordering basis, color mix, packing and freight scope are confirmed in your quotation.<\/p><\/div>\n    <\/aside>\n  <\/div>\n  <p class=\"ledc-bulk-link\"><strong>Already have a quantity list?<\/strong> <a href=\"https:\/\/www.lastelegance.com\/en\/wholesale\/\">Request a bulk supply quote \u2192<\/a><br><small>Send your existing requirements through our trade inquiry form. No calculation needed.<\/small><\/p>\n  \n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-59a0886c elementor-section-full_width ledc-quote elementor-section-height-default elementor-section-height-default\" data-id=\"59a0886c\" data-element_type=\"section\" data-e-type=\"section\" id=\"decking-quote\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-52a536ba ledc-quote-intro\" data-id=\"52a536ba\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-79e30c5 elementor-widget elementor-widget-text-editor\" data-id=\"79e30c5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<span class=\"ledc-eyebrow\">TURN YOUR LIST INTO A QUOTATION<\/span>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6537dd9 elementor-widget elementor-widget-heading\" data-id=\"6537dd9\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"ledc-quote-title\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Request your trade supply quote.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3a21ea92 elementor-widget elementor-widget-text-editor\" data-id=\"3a21ea92\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Tell us where and when you need the materials. Your inquiry requests a quantity review, product pricing, compatible components and confirmation of the agreed packing and shipping scope.<\/p><div class=\"ledc-notice\"><strong>Planning a combined order?<\/strong><p>If this estimate is below the standard MOQ, describe your combined projects or stock plan. Minimum quantities and any proposed mix need confirmation.<\/p><\/div><p class=\"ledc-small\">Specifying for a future project? Select Architect or specifier and tell us which samples or documents you need.<\/p><a href=\"mailto:xuan@lastelegance.com?subject=Composite%20decking%20material%20inquiry\">xuan@lastelegance.com<\/a>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-2fa5b975 ledc-quote-body\" data-id=\"2fa5b975\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-56055ce elementor-widget elementor-widget-html\" data-id=\"56055ce\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n      <div class=\"ledc-quote-summary\" aria-label=\"Material list attached to your inquiry\"><strong>Your attached material list<\/strong><p data-quote-summary><\/p><details><summary>View the full material list<\/summary><pre data-quote-full><\/pre><\/details><\/div>\n      <div class=\"ledc-quote-fields-home\"><div class=\"ledc-quote-fields\">\n        <label>US delivery location *<input type=\"text\" required data-destination maxlength=\"160\" placeholder=\"City, ZIP code or destination port\" autocomplete=\"off\"><\/label>\n        <label>Required timing *<select required data-timing><option value=\"\">Select your planning window<\/option><option>Within 6 weeks<\/option><option>6\u201310 weeks<\/option><option>10\u201316 weeks<\/option><option>More than 16 weeks<\/option><option>Not decided \/ specification stage<\/option><\/select><\/label>\n        <p class=\"ledc-small ledc-help\" data-timing-note>Production: 15\u201320 days for 20 ft or 20\u201325 days for 40 ft. West Coast sea transit: fast service 24\u201332 days; slow service 34\u201342 days. Confirm the complete order and delivery schedule, including approvals, booking, port handling, customs and inland delivery.<\/p>\n        <details class=\"ledc-optional\"><summary>Accessories, customization &amp; additional notes (optional)<\/summary>        <label>Purchase purpose<select data-purpose><option value=\"Project supply\">Project supply<\/option><option value=\"Combined projects \/ repeat orders\">Combined projects \/ repeat orders<\/option><option value=\"Private-label development\">Private-label development<\/option><option value=\"Specification \/ samples\">Specification \/ samples<\/option><\/select><\/label>\n        <fieldset class=\"ledc-accessories\"><legend>Also include in the quotation<\/legend><label><input type=\"checkbox\" value=\"Compatible clips and screws\" checked> Compatible clips and screws<\/label><label><input type=\"checkbox\" value=\"Fascia \/ edge finishing\"> Fascia \/ edge finishing<\/label><label><input type=\"checkbox\" value=\"Custom length \/ texture \/ color\"> Custom length \/ texture \/ color<\/label><label><input type=\"checkbox\" value=\"Private-label packaging\"> Private-label packaging<\/label><\/fieldset>\n        <label>Additional requirements<textarea data-extra rows=\"3\" maxlength=\"1500\" placeholder=\"Required date, combined orders, trims, customization or drawing references\"><\/textarea><\/label><\/details>\n      <\/div>\n      <\/div><div class=\"ledc-form-message\" role=\"status\" data-form-message><\/div>\n      \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b4eb689 ledc-fluent-form elementor-widget elementor-widget-shortcode\" data-id=\"b4eb689\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class='fluentform ff-default fluentform_wrapper_7 ffs_default_wrap'><form data-form_id=\"7\" id=\"fluentform_7\" class=\"frm-fluent-form fluent_form_7 ff-el-form-top ff_form_instance_7_1 ff-form-loading ffs_default\" data-form_instance=\"ff_form_instance_7_1\" method=\"POST\" ><fieldset  style=\"border: none!important;margin: 0!important;padding: 0!important;background-color: transparent!important;box-shadow: none!important;outline: none!important; min-inline-size: 100%;\">\n                    <legend class=\"ff_screen_reader_title\" style=\"display: block; margin: 0!important;padding: 0!important;height: 0!important;text-indent: -999999px;width: 0!important;overflow:hidden;\">Trade Account Application<\/legend>        <div\n                style=\"display: none!important; position: absolute!important; transform: translateX(1000%)!important;\"\n                class=\"ff-el-group ff-hpsf-container\"\n        >\n            <div class=\"ff-el-input--label asterisk-right\">\n                <label for=\"ff_7_item_sf\" aria-label=\"Notify\">\n                    Notify                <\/label>\n            <\/div>\n            <div class=\"ff-el-input--content\">\n                <input type=\"text\"\n                       name=\"item_7__fluent_sf\"\n                       class=\"ff-el-form-control\"\n                       id=\"ff_7_item_sf\"\n                \/>\n            <\/div>\n        <\/div>\n                <input type=\"hidden\" id=\"__fluent_protection_token_7\" class=\"fluent-form-token-field\" name=\"__fluent_protection_token_7\">\n        <input type='hidden' name='__fluent_form_embded_post_id' value='7900' \/><input type=\"hidden\" id=\"_fluentform_7_fluentformnonce\" name=\"_fluentform_7_fluentformnonce\" value=\"987462dded\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/7900\" \/><div class='ff-el-group'><div class=\"ff-el-input--label asterisk-right\"><label for='ff_7_company_name' id='label_ff_7_company_name' >Company name<\/label><\/div><div class='ff-el-input--content'><input type=\"text\" name=\"company_name\" class=\"ff-el-form-control\" placeholder=\"Registered business name\" data-name=\"company_name\" id=\"ff_7_company_name\"  aria-invalid=\"false\" aria-required=false><\/div><\/div><div class='ff-el-group'><div class=\"ff-el-input--label ff-el-is-required asterisk-right\"><label for='ff_7_contact_name' id='label_ff_7_contact_name' >Name<\/label><\/div><div class='ff-el-input--content'><input type=\"text\" name=\"contact_name\" class=\"ff-el-form-control\" placeholder=\"Who we should address the quotation to\" data-name=\"contact_name\" id=\"ff_7_contact_name\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><div class='ff-el-group'><div class=\"ff-el-input--label ff-el-is-required asterisk-right\"><label for='ff_7_email' id='label_ff_7_email' aria-label=\"Email\">Email<\/label><\/div><div class='ff-el-input--content'><input type=\"email\" name=\"email\" id=\"ff_7_email\" class=\"ff-el-form-control\" placeholder=\"name@company.com.au\" data-name=\"email\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><div class='ff-el-group ff_list_inline'><div class=\"ff-el-input--label asterisk-right\"><label   aria-label=\"Product type\">Product type<\/label><\/div><div class='ff-el-input--content'><div class='ff-el-form-check ff-el-form-check-'><label class='ff-el-form-check-label' for='product_type_e17c26f988357a54868fe30717677a10'><input  type=\"checkbox\" name=\"product_type[]\" data-name=\"product_type\" class=\"ff-el-form-check-input ff-el-form-check-checkbox\" value=\"Composite Decking\"  id='product_type_e17c26f988357a54868fe30717677a10' aria-label='Composite Decking' aria-invalid='false' aria-required=false> <span>Composite Decking<\/span><\/label><\/div><div class='ff-el-form-check ff-el-form-check-'><label class='ff-el-form-check-label' for='product_type_74628a8af1c62d3286862b2fda135d37'><input  type=\"checkbox\" name=\"product_type[]\" data-name=\"product_type\" class=\"ff-el-form-check-input ff-el-form-check-checkbox\" value=\"Composite Fencing\"  id='product_type_74628a8af1c62d3286862b2fda135d37' aria-label='Composite Fencing' aria-invalid='false' aria-required=false> <span>Composite Fencing<\/span><\/label><\/div><div class='ff-el-form-check ff-el-form-check-'><label class='ff-el-form-check-label' for='product_type_ba4eb9d4ddf4f800631546c4398835d5'><input  type=\"checkbox\" name=\"product_type[]\" data-name=\"product_type\" class=\"ff-el-form-check-input ff-el-form-check-checkbox\" value=\"Composite Siding\"  id='product_type_ba4eb9d4ddf4f800631546c4398835d5' aria-label='Composite Siding' aria-invalid='false' aria-required=false> <span>Composite Siding<\/span><\/label><\/div><\/div><\/div><div class='ff-el-group'><div class=\"ff-el-input--label asterisk-right\"><label for='ff_7_business_type' id='label_ff_7_business_type' aria-label=\"Business type\">Business type<\/label><\/div><div class='ff-el-input--content'><select name=\"business_type\" id=\"ff_7_business_type\" class=\"ff-el-form-control\" data-name=\"business_type\" data-calc_value=\"0\"  aria-invalid=\"false\" aria-required=\"false\" aria-labelledby=\"label_ff_7_business_type\"><option value=\"\">- Select -<\/option><option value=\"Importer\"  >Importer<\/option><option value=\"Wholesaler or distributor\"  >Wholesaler or distributor<\/option><option value=\"Timber or building merchant\"  >Timber or building merchant<\/option><option value=\"Retailer or online store\"  >Retailer or online store<\/option><option value=\"Private-label brand\"  >Private-label brand<\/option><option value=\"Volume builder or developer\"  >Volume builder or developer<\/option><option value=\"Decking or cladding contractor\"  >Decking or cladding contractor<\/option><option value=\"Landscaper or fencing contractor\"  >Landscaper or fencing contractor<\/option><option value=\"Pool builder\"  >Pool builder<\/option><option value=\"Architect or specifier\"  >Architect or specifier<\/option><option value=\"Other\"  >Other<\/option><\/select><\/div><\/div><div class='ff-el-group'><div class=\"ff-el-input--label asterisk-right\"><label for='ff_7_notes' id='label_ff_7_notes' aria-label=\"What do you need?\">What do you need?<\/label><\/div><div class='ff-el-input--content'><textarea aria-required=\"false\" aria-labelledby=\"label_ff_7_notes\" name=\"notes\" id=\"ff_7_notes\" class=\"ff-el-form-control\" placeholder=\"Colours, approximate volume, target delivery month, and your port or delivery city if you know it.\" rows=\"3\" cols=\"2\" data-name=\"notes\" ><\/textarea><\/div><\/div><div class='ff-el-group ff-text-left ff_submit_btn_wrapper'><button type=\"submit\" class=\"ff-btn ff-btn-submit ff-btn-md ff_btn_style wpf_has_custom_css\"  aria-label=\"Apply for trade pricing\">Apply for trade pricing<\/button><\/div><\/fieldset><\/form><div id='fluentform_7_errors' class='ff-errors-in-stack ff_form_instance_7_1 ff-form-loading_errors ff_form_instance_7_1_errors'><\/div><\/div>            <script type=\"text\/javascript\">\n                window.fluent_form_ff_form_instance_7_1 = {\"id\":\"7\",\"ajaxUrl\":\"https:\\\/\\\/www.lastelegance.com\\\/en\\\/wp-admin\\\/admin-ajax.php\",\"settings\":{\"layout\":{\"labelPlacement\":\"top\",\"helpMessagePlacement\":\"with_label\",\"errorMessagePlacement\":\"inline\",\"asteriskPlacement\":\"asterisk-right\"},\"restrictions\":{\"denyEmptySubmission\":{\"enabled\":false}}},\"form_instance\":\"ff_form_instance_7_1\",\"form_id_selector\":\"fluentform_7\",\"rules\":{\"company_name\":{\"required\":{\"value\":false,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"contact_name\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"email\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true},\"email\":{\"value\":true,\"message\":\"This field must contain a valid email\",\"global_message\":\"This field must contain a valid email\",\"global\":true}},\"product_type\":{\"required\":{\"value\":false,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true},\"max_selection\":{\"value\":\"\",\"message\":\"You have selected more options than allowed\",\"global_message\":\"You have selected more options than allowed\",\"global\":true},\"min_selection\":{\"value\":\"\",\"message\":\"Please select at least the minimum number of options\",\"global_message\":\"Please select at least the minimum number of options\",\"global\":true}},\"business_type\":{\"required\":{\"value\":false,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"notes\":{\"required\":{\"value\":false,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}}},\"debounce_time\":300,\"file_upload_settings\":[]};\n                            <\/script>\n            <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-78298aa7 elementor-widget elementor-widget-text-editor\" data-id=\"78298aa7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n      <p class=\"ledc-small\">Your calculated list and the details above are included in your inquiry. <a href=\"https:\/\/www.lastelegance.com\/en\/privacy-policy\/\">Privacy policy<\/a>.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-54314e75 elementor-widget elementor-widget-html\" data-id=\"54314e75\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\/* Last Elegance US: area-based procurement estimate, supplied calculation rules. *\/\n(function(root,factory){if(typeof module==='object'&&module.exports)module.exports=factory();else root.LEDeckCore=factory();})(typeof globalThis!=='undefined'?globalThis:this,function(){\n'use strict';\nconst version='2.3-us-area';\nconst products=[\n{id:'renew-139-23',name:'Renew',width:139,thickness:23,length:2900,kgm:2.90,url:'composite-decking-renew'},\n{id:'renew-139-22',name:'Renew',width:139,thickness:22,length:2900,kgm:2.51,url:'composite-decking-renew'},\n{id:'timberluxe-140-23',name:'TimberLuxe',width:140,thickness:23,length:2900,kgm:4.20,url:'composite-decking-timberluxe'},\n{id:'timberluxe-140-20',name:'TimberLuxe',width:140,thickness:20,length:2900,kgm:3.72,url:'composite-decking-timberluxe'},\n{id:'verdelife-139-24',name:'VerdeLife',width:139,thickness:24,length:2900,kgm:3.10,url:'composite-decking-verdelife'}];\nconst colors=['Rose Wood','Teak','Golden Oak','Dark Grey','Radiant Grey','Ancient Wood'];\nconst undecidedColor='Not decided yet';\nconst accessoryRates={joistsLm:4,fixingClipSets:25,starterClipSets:5};\nconst ceil=x=>Math.ceil(x-Math.max(1,Math.abs(x))*Number.EPSILON*8);\nfunction num(value,label,min,max,integer=false){if(value===''||value===null||value===undefined||typeof value==='boolean')throw Error('Enter '+label+'.');const n=Number(value);if(!Number.isFinite(n)||n<min||n>max||(integer&&!Number.isInteger(n)))throw Error(label+' must be '+(integer?'a whole number ':'')+'between '+min+' and '+max+'.');return n;}\nfunction calculate(input){\n if(!input||input.mode!=='project')throw Error('Use project quantities to calculate a material list.');\n if(!Array.isArray(input.items)||input.items.length<1||input.items.length>20)throw Error('Add between 1 and 20 lines.');\n const waste=num(input.waste,'board waste allowance (%)',0,25);\n const lines=input.items.map((x,i)=>{\n  const p=products.find(y=>y.id===x.product);if(!p)throw Error('Select a product for line '+(i+1)+'.');\n  if(!colors.includes(x.color)&&x.color!==undecidedColor)throw Error('Select a color for line '+(i+1)+'.');\n  const label=String(x.name||('Area '+(i+1))).trim().slice(0,80);\n  const length=num(x.length,'length for '+label,0.1,100),width=num(x.width,'width for '+label,0.1,100),repeat=num(x.repeat,'repeat quantity for '+label,1,1000,true);\n  const area=length*width*repeat,boardArea=p.width*p.length\/1000000;\n  const theoreticalBoards=area\/boardArea,baseBoards=ceil(theoreticalBoards),boards=ceil(theoreticalBoards*(1+waste\/100)),spares=boards-baseBoards;\n  if(boards>1000000)throw Error('This line exceeds the online limit. Please email your larger schedule.');\n  const accessories={joistsLm:area*accessoryRates.joistsLm,fixingClipSets:ceil(area*accessoryRates.fixingClipSets),starterClipSets:ceil(area*accessoryRates.starterClipSets)};\n  const lm=boards*p.length\/1000;\n  return {label,product:p.id,productName:p.name,profile:p.width+' \u00d7 '+p.thickness+' \u00d7 '+p.length+' mm',color:x.color,boards,baseBoards,spares,lm,face:lm*p.width\/1000,netKg:lm*p.kgm,area,accessories,detail:{length,width,repeat,boardArea,theoreticalBoards,waste,sparesForLine:spares}};\n });\n const groups=[];\n for(const l of lines){let g=groups.find(x=>x.product===l.product&&x.color===l.color);if(!g){g={product:l.product,productName:l.productName,profile:l.profile,color:l.color,boards:0,lm:0,face:0,netKg:0,area:0,accessories:{joistsLm:0,fixingClipSets:0,starterClipSets:0}};groups.push(g);}for(const k of ['boards','lm','face','netKg','area'])g[k]+=l[k];for(const k of Object.keys(accessoryRates))g.accessories[k]+=l.accessories[k];}\n const totals={boards:0,lm:0,face:0,netKg:0,baseBoards:0,area:0,spares:0,accessories:{joistsLm:0,fixingClipSets:0,starterClipSets:0}};\n for(const l of lines){for(const k of ['boards','lm','face','netKg','spares','baseBoards','area'])totals[k]+=l[k];for(const k of Object.keys(accessoryRates))totals.accessories[k]+=l.accessories[k];}\n return {version,mode:'project',method:'nominal-board-area',waste,accessoryRates,lines,groups,totals,moqReference:500,moqReferenceMet:totals.face>=500-1e-9};\n}\n\nfunction calculateUS(input){\n if(!input||!Array.isArray(input.items))throw Error('Add project areas.');\n const items=input.items.map((x,i)=>({...x,\n  length:num(x.length,'area '+(i+1)+' length (ft)',0.33,328)*0.3048,\n  width:num(x.width,'area '+(i+1)+' width (ft)',0.33,328)*0.3048}));\n return calculate({...input,items});\n}\nreturn {version,products,colors,undecidedColor,accessoryRates,calculate,calculateUS};\n});\n<\/script>\n<script>(function(){'use strict';\nconst C=window.LEDeckCore;if(!C)return;\nif(window.LEDeckHTMLBoot){window.LEDeckHTMLBoot();return;}\nconst controllers=new Map();\nconst esc=s=>String(s).replace(\/[&<>\"']\/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[c]));\nconst fmt=(n,d=2)=>Number(n).toLocaleString('en-US',{maximumFractionDigits:d,minimumFractionDigits:0});\nconst ft=n=>n\/0.3048,sqft=n=>n\/0.09290304,lb=n=>n\/0.45359237;\nconst label=p=>p.name+' \u00b7 '+fmt(p.width\/25.4)+' \u00d7 '+fmt(p.thickness\/25.4)+' in \u00b7 9.51 ft ('+p.width+' \u00d7 '+p.thickness+' \u00d7 2900 mm)';\nfunction init(root){\n const projectNode=root.querySelector('[data-project-lines]'),quoteNode=root.querySelector('.ledc-quote');\n if(!projectNode||!quoteNode||!root.querySelector('[data-form-message]'))return;\n const previous=controllers.get(root);\n if(previous?.node===projectNode){previous.setup();return;}\n previous?.abort.abort();\n const abort=new AbortController(),signal=abort.signal;\n root.dataset.ledc='';root.dataset.notesField='notes';root.dataset.ready='true';\n quoteNode.dataset.quote='';quoteNode.hidden=true;quoteNode.setAttribute('aria-labelledby','ledc-quote-title');\n root.querySelector('#ledc-quote-title')?.setAttribute('tabindex','-1');\n let boundForm=null;const quoteFields=root.querySelector('.ledc-quote-fields');\n controllers.set(root,{node:projectNode,abort,setup:()=>setupForm()});\n const q=s=>root.querySelector(s),qa=s=>Array.from(root.querySelectorAll(s));const mode='project';let result=null,estimateId='',serial=0;\n const projectBox=q('[data-project-lines]');\n const blank={product:C.products[0].id,color:C.undecidedColor,length:'',width:'',repeat:'1'};\n function options(arr,current){return arr.map(x=>{const val=typeof x==='string'?x:x.value;const text=typeof x==='string'?x:x.text;return '<option value=\"'+esc(val)+'\"'+(val===current?' selected':'')+'>'+esc(text)+'<\/option>';}).join('');}\n function add(kind,values={},focus=false){const box=projectBox;if(box.children.length>=20){error('The calculator supports up to 20 project areas. Email larger schedules to xuan@lastelegance.com.');return;}\n  const x=Object.assign({},blank,values),n=++serial;const row=document.createElement('div');row.className='ledc-item';row.dataset.line=kind;\n  const field=(name,title,type,value,attrs='',cl='')=>'<label class=\"'+cl+'\">'+title+'<input type=\"'+type+'\" data-field=\"'+name+'\" value=\"'+esc(value)+'\" '+attrs+'><\/label>';\n  const sel=(name,title,list,value,cl='')=>'<label class=\"'+cl+'\">'+title+'<select data-field=\"'+name+'\">'+options(list,value)+'<\/select><\/label>';\n  row.innerHTML='<div class=\"ledc-item-head\"><span>Project area<\/span><div class=\"ledc-item-actions\"><button type=\"button\" data-action=\"duplicate\" aria-label=\"Duplicate this area\">Duplicate<\/button><button type=\"button\" data-action=\"remove\" aria-label=\"Remove this area\">Remove<\/button><\/div><\/div><div class=\"ledc-fields\">'+\n   field('length','Area length <span class=\"ledc-unit\">ft<\/span>','number',x.length,'min=\"0.33\" max=\"328\" step=\"0.01\" inputmode=\"decimal\"')+\n   field('width','Area width <span class=\"ledc-unit\">ft<\/span>','number',x.width,'min=\"0.33\" max=\"328\" step=\"0.01\" inputmode=\"decimal\"')+\n   field('repeat','Identical areas \/ repeats','number',x.repeat,'min=\"1\" max=\"1000\" step=\"1\" inputmode=\"numeric\"')+\n   field('name','Area name (optional)','text',x.name||'','maxlength=\"80\" placeholder=\"e.g. Townhouse type A\"')+\n   sel('product','Decking profile',C.products.map(p=>({value:p.id,text:label(p)})),x.product,'ledc-product')+\n   sel('color','Color',[C.undecidedColor,...C.colors],x.color,'ledc-color')+\n   '<div class=\"ledc-wide\" data-product-links><\/div><\/div>';\n  row.querySelectorAll('input,select').forEach((el,i)=>{el.id='ledc-line-'+n+'-'+i;el.closest('label').htmlFor=el.id;});box.append(row);updateProductLinks(row);renumber();if(focus)row.querySelector('input').focus();\n }\n function updateProductLinks(row){const x=readRow(row),p=C.products.find(p=>p.id===x.product);const box=row.querySelector('[data-product-links]');box.innerHTML='<a class=\"ledc-product-link\" href=\"https:\/\/www.lastelegance.com\/en\/composite-decking\/'+esc(p.url)+'\/\" target=\"_blank\" rel=\"noopener\">View selected product \u2197<\/a> \u00b7 <a class=\"ledc-product-link\" href=\"https:\/\/www.lastelegance.com\/en\/resources\/installation-guides\/\" target=\"_blank\" rel=\"noopener\">Installation resources \u2197<\/a>';}\n function renumber(){[projectBox].forEach(box=>Array.from(box.children).forEach((el,i)=>{el.querySelector('.ledc-item-head>span').textContent='Area '+String(i+1).padStart(2,'0');el.querySelector('[data-action=remove]').disabled=box.children.length===1;}));}\n function readRow(el){const x={};el.querySelectorAll('[data-field]').forEach(f=>x[f.dataset.field]=f.value);return x;}\n function input(){return {mode,waste:q('[data-waste]').value,items:Array.from(projectBox.children).map(readRow)};}\n function error(msg){q('[data-error]').textContent=msg;q('[data-error]').hidden=false;q('[data-error]').focus();}\n function clearError(){q('[data-error]').hidden=true;q('[data-error]').textContent='';}\n function invalidate(){result=null;q('[data-results]').hidden=true;q('[data-empty]').hidden=false;q('[data-quote]').hidden=true;q('[data-result-status]').textContent='Calculate to update your list';q('[data-status]').textContent='';const form=quoteForm();if(form){const carrier=notesField(form);if(carrier)carrier.value='';}clearError();}\n\n function lineText(l){const d=l.detail,a=l.accessories;\n return fmt(ft(d.length),4)+' \u00d7 '+fmt(ft(d.width),4)+' ft \u00d7 '+d.repeat+' repeat(s) = '+fmt(sqft(l.area),4)+' sq ft. '+fmt(sqft(l.area),4)+' \u00f7 '+fmt(sqft(d.boardArea),6)+' = '+fmt(d.theoreticalBoards,4)+' theoretical boards. After '+fmt(d.waste)+'% waste: '+fmt(l.boards,0)+' boards ('+fmt(l.baseBoards,0)+' base + '+fmt(l.spares,0)+' waste allowance). Accessories: '+fmt(ft(a.joistsLm),3)+' linear ft of joists; '+fmt(a.fixingClipSets,0)+' fixing clip sets; '+fmt(a.starterClipSets,0)+' starter clip sets (provisional).';}\n function baseSummary(){if(!result)return '';let text='LAST ELEGANCE \u2014 US DECKING MATERIAL ESTIMATE\\n'+estimateId+' | Calculator '+C.version+'\\nMethod: nominal board area | Board waste allowance: '+fmt(result.waste)+'%\\n';\n text+='\\nPRODUCT \/ COLOR SCHEDULE\\n';result.groups.forEach((g,i)=>{const p=C.products.find(p=>p.id===g.product);text+=(i+1)+'. '+label(p)+' | '+g.color+'\\n   '+fmt(g.boards,0)+' boards; '+fmt(ft(g.lm))+' linear ft; '+fmt(sqft(g.face),3)+' sq ft nominal face; '+fmt(lb(g.netKg))+' lb net boards\\n';});\n text+='\\nLINE CALCULATIONS\\n';result.lines.forEach((l,i)=>{text+=(i+1)+'. '+l.label+' | '+label(C.products.find(p=>p.id===l.product))+' | '+l.color+'\\n   '+lineText(l)+'\\n';});\n const t=result.totals,a=t.accessories;text+='\\nBASE BOARDS: '+fmt(t.baseBoards,0)+' | ADDITIONAL BOARDS FOR WASTE: '+fmt(t.spares,0)+'\\nTOTAL: '+fmt(t.boards,0)+' boards | '+fmt(ft(t.lm))+' linear ft | '+fmt(sqft(t.face),3)+' sq ft nominal material face | '+fmt(lb(t.netKg))+' lb net board weight\\nProject footprint: '+fmt(sqft(t.area),4)+' sq ft\\n';\n text+='\\nACCESSORY PLANNING ALLOWANCES\\nJoists: '+fmt(ft(a.joistsLm),3)+' linear ft (1.2192 linear ft\/sq ft)\\nFixing clips: '+fmt(a.fixingClipSets,0)+' sets (2.322576 sets\/sq ft)\\nStarter clips: '+fmt(a.starterClipSets,0)+' sets (0.4645152 sets\/sq ft; provisional, check perimeter)\\n';\n text+='\\nESTIMATE BASIS\\nBoard count per line = round up [area length \u00d7 width \u00d7 repeats \u00f7 nominal single-board face area \u00d7 (1 + board waste % \/ 100)]. Feet are converted using exactly 0.3048 m per foot; calculations use original millimeter dimensions and kg\/m weights, not rounded inch, foot or pound labels. Apply waste before final rounding. Round each line separately, then sum. This method does not deduct gaps or produce a cutting or joint layout.\\nAccessory allowances use original project area with no board-waste uplift: 4 linear m of joists, 25 fixing clip sets and 5 provisional starter clip sets per m\u00b2. Clip sets are rounded up per line. Joists are linear feet, not stock lengths or pieces. Rates supplied for 139 \u00d7 23 mm decking are preliminary for other profiles; confirm compatible parts and rates. Starter clips depend on starting edges and perimeter; large decks often require fewer. No separate screw count is inferred. Fascia, extra screws, pack quantities, labor and freight are not calculated.\\nStandard MOQ: 500 m\u00b2 (approximately 5,382 sq ft). Nominal material face is a reference only; confirm ordering basis and product\/color mix. Net weight covers boards only, excluding accessories and packaging. This preliminary procurement estimate is not a quote, structural design or installation plan.';\n return text;\n }\n function render(){const t=result.totals;q('[data-empty]').hidden=true;q('[data-results]').hidden=false;q('[data-result-status]').textContent='Calculated \u00b7 '+result.lines.length+' line'+(result.lines.length===1?'':'s');\n  for(const [a,v,d] of [['base',t.baseBoards,0],['spares',t.spares,0],['boards',t.boards,0],['lm',ft(t.lm),2],['face',sqft(t.face),2],['weight',lb(t.netKg),2],['area',sqft(t.area||0),2]])q('[data-total-'+a+']').textContent=fmt(v,d);\n  q('[data-project-area-metric]').hidden=result.mode!=='project';q('[data-moq]').textContent=(result.moqReferenceMet?'The nominal material face meets the 500 m\u00b2 (approx. 5,382 sq ft) reference.':'This list is below the 500 m\u00b2 (approx. 5,382 sq ft) nominal material reference. You can describe a combined order in your inquiry.')+' Final MOQ eligibility and the ordering basis are confirmed in your quote.';\n  q('[data-total-joists]').textContent=fmt(ft(t.accessories.joistsLm),3);q('[data-total-fixing-clips]').textContent=fmt(t.accessories.fixingClipSets,0);q('[data-total-starter-clips]').textContent=fmt(t.accessories.starterClipSets,0);\n  q('[data-status]').textContent=fmt(t.boards,0)+' boards calculated. Request a trade quote or export your material list.';\n  root.dispatchEvent(new CustomEvent('ledeck:estimate',{bubbles:true,detail:{mode:result.mode,lines:result.lines.length,boards:t.boards}}));\n }\n function calculate(){try{clearError();result=C.calculateUS(input());estimateId='LE-'+new Date().toISOString().slice(0,19).replace(\/[-:T]\/g,'');q('[data-quote]').hidden=true;render();return true;}catch(e){invalidate();error(e.message);return false;}}\n function quoteForm(){return q('.ledc-fluent-form form');}\n function notesField(form){return Array.from(form.querySelectorAll('textarea,input')).find(el=>el.name===root.dataset.notesField);}\n function inquirySummary(){return baseSummary()+'\\n\\nINQUIRY DETAILS\\nPurchase purpose: '+q('[data-purpose]').value+'\\nUS delivery location: '+q('[data-destination]').value.trim()+'\\nRequired timing: '+q('[data-timing]').value+'\\nAdditional accessory supply requests: '+qa('.ledc-accessories input:checked').map(x=>x.value).join('; ')+'\\nAdditional requirements: '+q('[data-extra]').value.trim();}\n function syncForm(){if(result){q('[data-quote-summary]').textContent=fmt(result.totals.boards,0)+' estimated boards plus accessory allowances \u00b7 '+fmt(sqft(result.totals.area))+' sq ft project area \u00b7 '+result.groups.length+' product \/ color group(s).';q('[data-quote-full]').textContent=baseSummary();}const form=quoteForm();if(!form||!result)return false;const notes=notesField(form);if(!notes)return false;notes.value=inquirySummary();notes.dispatchEvent(new Event('input',{bubbles:true}));notes.dispatchEvent(new Event('change',{bubbles:true}));return true;}\n function setupForm(){\n if(quoteFields&&!quoteFields.isConnected)q('.ledc-quote-fields-home')?.append(quoteFields);\n const form=quoteForm();if(form&&form===boundForm)return;if(!form||!notesField(form)){q('[data-form-message]').textContent='The online quote form is unavailable. Copy your material list and email xuan@lastelegance.com.';if(form)form.querySelectorAll('[type=submit]').forEach(b=>{b.disabled=true;b.dataset.ledcDisabled='true';});return;}\n  boundForm=form;q('[data-form-message]').textContent='';form.querySelectorAll('[data-ledc-disabled]').forEach(b=>{b.disabled=false;delete b.dataset.ledcDisabled;});\n  const notes=notesField(form);const group=notes.closest('.ff-el-group');if(group)group.classList.add('ledc-summary-carrier');notes.tabIndex=-1;\n  ['company_name','contact_name','email','business_type'].forEach(name=>{const field=form.querySelector('[name=\"'+name+'\"]');if(field){field.required=true;field.setAttribute('aria-required','true');}});\n  const button=form.querySelector('[type=submit]');if(button){button.textContent='Send trade quote request';button.setAttribute('aria-label','Send trade quote request');}\n  const checks=Array.from(form.querySelectorAll('input[name=\"product_type[]\"]'));checks.forEach(x=>{x.checked=x.value==='Composite Decking';});\n  const productGroup=checks[0]?.closest('.ff-el-group');if(productGroup)productGroup.classList.add('ledc-summary-carrier');\n  if(button&&quoteFields){const submitBlock=button.closest('.ff_submit_btn_wrapper')||button;submitBlock.parentElement.insertBefore(quoteFields,submitBlock);}\n\n  form.addEventListener('submit',function(ev){if(!result){ev.preventDefault();ev.stopImmediatePropagation();error('Recalculate your material list before submitting.');return;}for(const key of ['destination','timing']){const el=q('[data-'+key+']');if(!el.value.trim()){ev.preventDefault();ev.stopImmediatePropagation();q('[data-form-message]').textContent='Please complete the delivery location and required timing.';el.focus();return;}}\n   if(!form.checkValidity()){ev.preventDefault();ev.stopImmediatePropagation();form.reportValidity();return;}syncForm();q('[data-form-message]').textContent='';\n  },{capture:true,signal});\n  if(result)syncForm();\n }\n function download(content,type,name){const url=URL.createObjectURL(new Blob([content],{type}));const a=document.createElement('a');a.href=url;a.download=name;document.body.append(a);a.click();a.remove();setTimeout(()=>URL.revokeObjectURL(url),1000);}\n function csv(){const rows=[['Last Elegance US decking estimate',estimateId],['Calculator version',C.version],['Method','Nominal board area; exact metric specifications; US display'],['Board waste allowance',result.waste+'%'],[],['Product','Original profile (mm)','Color','Boards','Linear ft','Nominal material face sq ft','Net board weight lb'],...result.groups.map(g=>[g.productName,g.profile,g.color,g.boards,ft(g.lm).toFixed(2),sqft(g.face).toFixed(3),lb(g.netKg).toFixed(2)]),[],['Accessory','Unit','Rate per project sq ft','Estimated quantity'],['Joists','linear ft',1.2192,ft(result.totals.accessories.joistsLm).toFixed(3)],['Fixing clips','sets',2.322576,result.totals.accessories.fixingClipSets],['Starter clips (provisional; check perimeter)','sets',0.4645152,result.totals.accessories.starterClipSets],[],['Area reference','Product \/ original profile','Color','Length ft','Width ft','Repeats','Project area sq ft','Board face sq ft per piece','Board waste %','Base boards','Waste boards','Total boards','Joists linear ft','Fixing clip sets','Starter clip sets'],...result.lines.map(l=>[l.label,l.productName+' '+l.profile,l.color,ft(l.detail.length),ft(l.detail.width),l.detail.repeat,sqft(l.area),sqft(l.detail.boardArea),result.waste,l.baseBoards,l.spares,l.boards,ft(l.accessories.joistsLm),l.accessories.fixingClipSets,l.accessories.starterClipSets]),[],['Full calculation and accessory assumptions',baseSummary()]];\n const cell=v=>{let s=String(v);if(\/^[=+@\\-\\t\\r]\/.test(s))s=\"'\"+s;return '\"'+s.replace(\/\"\/g,'\"\"')+'\"';};download('\\uFEFF'+rows.map(row=>row.map(cell).join(',')).join('\\r\\n'),'text\/csv;charset=utf-8',estimateId+'-decking.csv');}\n root.addEventListener('click',async ev=>{const b=ev.target.closest('button');if(!b||!root.contains(b))return;const action=b.dataset.action;if(!action)return;\n  if(action==='add-project'){add('project',{},true);invalidate();}\n  else if(action==='remove'){b.closest('.ledc-item').remove();renumber();invalidate();projectBox.querySelector('input').focus();}\n  else if(action==='duplicate'){const el=b.closest('.ledc-item');add(el.dataset.line,readRow(el),true);invalidate();}\n  else if(action==='reset'){const box=projectBox;box.innerHTML='';add(mode);if(mode==='project'){q('[data-waste]').value='10';}invalidate();}\n  else if(action==='example'){projectBox.innerHTML='';add('project',{name:'Worked example \u2014 300 sq ft',length:'20',width:'15',repeat:'1',color:'Teak'});q('[data-waste]').value='0';invalidate();calculate();q('[data-status]').textContent='300 sq ft example loaded with 0% board waste: 70 boards, 365.76 linear ft of joists, 697 fixing clip sets and 140 provisional starter clip sets.';}\n  else if(action==='calculate'){if(calculate()&&matchMedia('(max-width:767px)').matches)q('.ledc-results').scrollIntoView({behavior:matchMedia('(prefers-reduced-motion:reduce)').matches?'auto':'smooth',block:'start'});}\n  else if(action==='quote'){if(!result)return;setupForm();q('[data-quote]').hidden=false;syncForm();q('#ledc-quote-title').focus({preventScroll:true});q('[data-quote]').scrollIntoView({behavior:matchMedia('(prefers-reduced-motion:reduce)').matches?'auto':'smooth',block:'start'});root.dispatchEvent(new CustomEvent('ledeck:quote_open',{bubbles:true,detail:{mode}}));}\n  else if(action==='copy'&&result){try{await navigator.clipboard.writeText(baseSummary());q('[data-status]').textContent='Material list copied.';}catch(_){download(baseSummary(),'text\/plain;charset=utf-8',estimateId+'-decking.txt');q('[data-status]').textContent='Material list downloaded as a text file.';}}\n  else if(action==='csv'&&result)csv();\n  else if(action==='print'&&result){document.querySelector('body>.ledc-print-sheet')?.remove();const sheet=document.createElement('div');sheet.className='ledc-print-sheet';sheet.innerHTML='<h1>Last Elegance decking material estimate<\/h1><pre>'+esc(baseSummary())+'<\/pre>';document.body.append(sheet);document.body.classList.add('ledc-printing');window.print();}\n },{signal});\n function changed(ev){if(ev.target.closest('.ledc-inputs')){const row=ev.target.closest('.ledc-item');if(row)updateProductLinks(row);invalidate();}else if(ev.target.closest('.ledc-quote-fields')){if(ev.target.matches('[data-timing]'))q('[data-timing-note]').textContent=ev.target.value==='Within 6 weeks'?'This timing may be tight for a new factory order. Production: 15\u201320 days for 20 ft or 20\u201325 days for 40 ft. West Coast sea transit: fast service 24\u201332 days; slow service 34\u201342 days. Confirm the complete delivery schedule before relying on a site date.':'Production: 15\u201320 days for 20 ft or 20\u201325 days for 40 ft. West Coast sea transit: fast service 24\u201332 days; slow service 34\u201342 days. Confirm the complete order and delivery schedule, including approvals, booking, port handling, customs and inland delivery.';syncForm();}}\n root.addEventListener('input',changed,{signal});root.addEventListener('change',changed,{signal});\n window.addEventListener('afterprint',()=>{document.body.classList.remove('ledc-printing');document.querySelector('body>.ledc-print-sheet')?.remove();},{signal});\n add('project');setupForm();\n}\nfunction boot(){\n for(const [root,state] of controllers){if(!root.isConnected){state.abort.abort();controllers.delete(root);}}\n document.querySelectorAll('#decking-calculator.ledc').forEach(init);\n}\nwindow.LEDeckHTMLBoot=boot;\nif(document.readyState==='loading')document.addEventListener('DOMContentLoaded',boot,{once:true});else boot();\nlet queued=false;\nnew MutationObserver(records=>{\n if(records.some(r=>[...r.addedNodes,...r.removedNodes].some(n=>n.nodeType===1&&(n.matches?.('#decking-calculator,[data-project-lines],.ledc-quote,form')||n.querySelector?.('[data-project-lines],.ledc-quote,form'))))&&!queued){\n queued=true;queueMicrotask(()=>{queued=false;boot();});\n }\n}).observe(document.documentElement,{childList:true,subtree:true});\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-14f44b2d ledc-page  elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"14f44b2d\" data-element_type=\"section\" data-e-type=\"section\" id=\"decking-profiles\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-16ba3d0\" data-id=\"16ba3d0\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-313e6039 elementor-widget elementor-widget-text-editor\" data-id=\"313e6039\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<span class=\"ledc-eyebrow\">PRODUCT DATA<\/span>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-371a46 elementor-widget elementor-widget-heading\" data-id=\"371a46\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Five profiles. Six standard colors.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-144a593c elementor-widget elementor-widget-text-editor\" data-id=\"144a593c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThe calculator uses these nominal standard dimensions. The table lists the calculated weight of each 9.51 ft (2.9 m) board, rounded to two decimal places. Calculations use original metric specifications; displayed US dimensions are rounded. Choose Rose Wood, Teak, Golden Oak, Dark Grey, Radiant Grey or Ancient Wood. Approve physical samples before placing an order.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1ba81a27 elementor-widget elementor-widget-text-editor\" data-id=\"1ba81a27\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"ledc-table-scroll\" tabindex=\"0\" role=\"region\" aria-label=\"Product and calculation reference table\">\n<table>\n<thead>\n<tr>\n<th scope=\"col\">Series<\/th>\n<th scope=\"col\">Nominal width \u00d7 thickness \u00d7 length<\/th>\n<th scope=\"col\">Weight per 9.51 ft (2.9 m) board<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Renew<\/td>\n<td>5.47 \u00d7 0.87 in \u00d7 9.51 ft<br>\n<small>139 \u00d7 22 \u00d7 2,900 mm<\/small><\/td>\n<td>16.05 lb \/ board<br>\n<small>7.28 kg \/ board<\/small><\/td>\n<\/tr>\n<tr>\n<td>Renew<\/td>\n<td>5.47 \u00d7 0.91 in \u00d7 9.51 ft<br>\n<small>139 \u00d7 23 \u00d7 2,900 mm<\/small><\/td>\n<td>18.54 lb \/ board<br>\n<small>8.41 kg \/ board<\/small><\/td>\n<\/tr>\n<tr>\n<td>VerdeLife<\/td>\n<td>5.47 \u00d7 0.94 in \u00d7 9.51 ft<br>\n<small>139 \u00d7 24 \u00d7 2,900 mm<\/small><\/td>\n<td>19.82 lb \/ board<br>\n<small>8.99 kg \/ board<\/small><\/td>\n<\/tr>\n<tr>\n<td>TimberLuxe<\/td>\n<td>5.51 \u00d7 0.79 in \u00d7 9.51 ft<br>\n<small>140 \u00d7 20 \u00d7 2,900 mm<\/small><\/td>\n<td>23.78 lb \/ board<br>\n<small>10.79 kg \/ board<\/small><\/td>\n<\/tr>\n<tr>\n<td>TimberLuxe<\/td>\n<td>5.51 \u00d7 0.91 in \u00d7 9.51 ft<br>\n<small>140 \u00d7 23 \u00d7 2,900 mm<\/small><\/td>\n<td>26.85 lb \/ board<br>\n<small>12.18 kg \/ board<\/small><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1cbf930d elementor-widget elementor-widget-text-editor\" data-id=\"1cbf930d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<nav class=\"ledc-product-links\" aria-label=\"Explore decking products\"><a href=\"https:\/\/www.lastelegance.com\/en\/composite-decking\/composite-decking-renew\/\">Explore Renew \u2192<\/a><a href=\"https:\/\/www.lastelegance.com\/en\/composite-decking\/composite-decking-verdelife\/\">Explore VerdeLife \u2192<\/a><a href=\"https:\/\/www.lastelegance.com\/en\/composite-decking\/composite-decking-timberluxe\/\">Explore TimberLuxe \u2192<\/a><a href=\"https:\/\/www.lastelegance.com\/en\/request-samples\/\">Request samples \u2192<\/a><\/nav>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-27e32ecb ledc-page ledc-tint elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"27e32ecb\" data-element_type=\"section\" data-e-type=\"section\" id=\"decking-delivery\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1bf9aec2\" data-id=\"1bf9aec2\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cedb07a elementor-widget elementor-widget-text-editor\" data-id=\"cedb07a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<span class=\"ledc-eyebrow\">PLAN YOUR PROCUREMENT<\/span>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-20cefd79 elementor-widget elementor-widget-heading\" data-id=\"20cefd79\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Allow time for factory production and shipping.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7976981b elementor-widget elementor-widget-text-editor\" data-id=\"7976981b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"ledc-table-scroll\" role=\"region\" aria-label=\"Production and US West Coast shipping times\" tabindex=\"0\"><table><thead><tr><th scope=\"col\">Shipment<\/th><th scope=\"col\">Production<\/th><th scope=\"col\">West Coast fast sea service<\/th><th scope=\"col\">West Coast slow sea service<\/th><\/tr><\/thead><tbody><tr><td>20 ft container<\/td><td>15\u201320 days<\/td><td>24\u201332 days<\/td><td>34\u201342 days<\/td><\/tr><tr><td>40 ft container<\/td><td>20\u201325 days<\/td><td>24\u201332 days<\/td><td>34\u201342 days<\/td><\/tr><\/tbody><\/table><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-78328a28 ledc-small elementor-widget elementor-widget-text-editor\" data-id=\"78328a28\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tSea transit estimates below apply to US West Coast ports. Other destinations require a route-specific estimate. Production and sea transit times are indicative, not guaranteed site-arrival dates. Confirm the complete order and delivery schedule, including sample or drawing approvals, vessel booking, port handling, customs clearance and inland delivery. Custom development may add time.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6e1fea73 elementor-widget elementor-widget-text-editor\" data-id=\"6e1fea73\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tStandard MOQ is 500 m\u00b2 (approx. 5,382 sq ft). The calculator uses nominal material face as a reference; the actual ordering basis and any proposed mix of profiles, colors or products need confirmation in your quote.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Composite Decking Calculator For contractors, builders &amp; estimators. Calculate boards and accessory allowances for multiple areas and repeat layouts, then request a trade supply quote.Multi-area &amp; repeat layouts5 profiles \u00b7 6 colors500 m\u00b2 (approx. 5,382 sq ft) standard MOQ Enable JavaScript to calculate quantities, or email your dimensions and product requirements to xuan@lastelegance.com. BUILD YOUR [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-7900","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.lastelegance.com\/en\/wp-json\/wp\/v2\/pages\/7900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lastelegance.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.lastelegance.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.lastelegance.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lastelegance.com\/en\/wp-json\/wp\/v2\/comments?post=7900"}],"version-history":[{"count":0,"href":"https:\/\/www.lastelegance.com\/en\/wp-json\/wp\/v2\/pages\/7900\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.lastelegance.com\/en\/wp-json\/wp\/v2\/media?parent=7900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}