{"product_id":"1lb-skylight-top-fill-closed-loop-extractor","title":"1LB Skylight Top Fill Closed Loop Extractor","description":"\u003cp\u003e\u003cb\u003e\u003cb\u003e\u003cb\u003e\u003cb\u003e\u003cstrong\u003e\u003cem\u003e***Note: Butane(Solvent) not included with systems unless ordered with dropdown menu or separately. Any order with butane WILL NOT SHIP EXPEDITED.\u003c\/em\u003e\u003c\/strong\u003e\u003c\/b\u003e\u003c\/b\u003e\u003c\/b\u003e\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cb\u003eDISCLAIMER: This unit is intended for LEGAL purposes only, to be used in accordance with local laws and ordinances. Use only in extremely well ventilated areas. Check with your local fire marshal for guidance when operating indoors\u003c\/b\u003e \u003cbr\u003e \u003cbr\u003e \u003cbr\u003e\u003c\/p\u003e\n\u003ch1 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003e\u003cstrong\u003eClosed Loop Reclamation Extraction System\u003c\/strong\u003e\u003c\/h1\u003e\n\u003ch6 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003e\n\u003cstrong\u003e(System comes with 1 yr. limited warranty)\u003c\/strong\u003e\u003cbr\u003e\u003csmall\u003e\u003cbr\u003e\u003c\/small\u003e\n\u003c\/h6\u003e\n\u003cp\u003eThe 1lb Skylight closed loop hydrocarbon extraction system performs botanical extraction within a sealed, vacuumed system. What sets the skylight apart from the standard 1lb is the kettle top featuring a 3\" sight glass to view inside the collection vessel.\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003eThis is great for beginners on a larger scale, the viewport helps you easily see your oil fall and gives you a great view of your recovery process. \u003c\/span\u003eUtilizing a top-fill input, solvent washes thru the material column, collecting oils as it passes over the material. \u003cspan style=\"font-weight: 400;\"\u003eThe top-fill closed loop extractor is the safest way to do hydrocarbon extraction. Solvent washes through the material column and collects oils as it passes over the material, and the oil-bearing solvent is collected in the collection base. \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003eOnce collected, the solvent in this passive unit is distilled and recovered using temperature manipulation, leaving oils in the collection base. \u003c\/span\u003eThis is a passive unit that utilizes pressure differences created by manipulating temperature to move solvent.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cu\u003eExtractor Configuration:\u003c\/u\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e\u003cu\u003eExplorer:\u003c\/u\u003e\u003c\/strong\u003e Our standard, most economical setup, perfect for the entry level extractor on a budget.  Comes with a welded bottom base and standard LP tank.  This model has minimal features to keep cost low, while providing the necessary equipment to get the job done.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e\u003cu\u003eProfessional:\u003c\/u\u003e\u003c\/strong\u003e This model features upgrades to help produce a higher quality extract.  Solvent is input into the material column with a showerhead endcap, ensuring the full material column is saturated with solvent.  The Professional comes with a sleeved spool, allowing users to utilize dry ice to freeze the material column. This will help lock in fats and waxes to the material. An inline ball valve is used to allow solvent to be suspended in the material column, as well as closing the collection base off during recovery.  Upon completion of the run, extract removal is made simple by adding a removable bottom to the collection base.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e\u003cu\u003eElite:\u003c\/u\u003e\u003c\/strong\u003e  The Elite series is the premium version of the Professional.  It features all American made instrumentation valves by SSP, an AVCO ultra-low temperature inline ball valve, jacketed collection base, and all high-pressure clamps.  The jacketed collection gives precision during recovery, allowing a heated fluid to be circulated around the base.  This method keeps temperature both accurate and consistent.  The elite series adds a level of dependability needed for those seeking to produce the highest quality extracts.  \u003cstrong\u003e\u003cu\u003e*NOTE* This model requires a heater circulator or chiller\u003c\/u\u003e\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cstyle type=\"text\/css\"\u003e\u003c!--\n.tg  {border-collapse:collapse;border-spacing:0;border-color:#ccc;}\n.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;}\n.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;}\n.tg .tg-7btt{font-weight:bold;border-color:inherit;text-align:center;vertical-align:top}\n.tg .tg-amwm{font-weight:bold;text-align:center;vertical-align:top}\n.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}\n.tg .tg-0lax{text-align:left;vertical-align:top}\n--\u003e\u003c\/style\u003e\n\u003cdiv\u003e\n\u003ctable class=\"tg\" style=\"table-layout: fixed; width: 550px;\" height=\"238\"\u003e\n\u003ccolgroup\u003e \u003ccol style=\"width: 153px;\"\u003e \u003ccol style=\"width: 158px;\"\u003e \u003ccol style=\"width: 157px;\"\u003e \u003c\/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003cth class=\"tg-7btt\" style=\"width: 169px; text-align: center;\"\u003eExplorer\u003c\/th\u003e\n\u003cth class=\"tg-7btt\" style=\"width: 174px; text-align: center;\"\u003eProfessional\u003c\/th\u003e\n\u003cth class=\"tg-amwm\" style=\"width: 173px; text-align: center;\"\u003eElite\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"text-align: center;\"\u003e\n\u003ctd class=\"tg-0pky\" style=\"width: 169px;\"\u003e\n\u003cul\u003e\n\u003cli\u003eBVV 316SS Full Bore Valves\u003c\/li\u003e\n\u003cli\u003eWelded Bottom Base\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/td\u003e\n\u003ctd class=\"tg-0pky\" style=\"width: 174px;\"\u003e\n\u003cul\u003e\n\u003cli\u003eBVV 316SS Full Bore Valves\u003c\/li\u003e\n\u003cli\u003eShowerhead\u003c\/li\u003e\n\u003cli\u003eDewaxer\u003c\/li\u003e\n\u003cli\u003eBall Valve\u003c\/li\u003e\n\u003cli\u003eSplatter Platter Base\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/td\u003e\n\u003ctd class=\"tg-0lax\" style=\"width: 173px;\"\u003e\n\u003cul\u003e\n\u003cli\u003eSSP Valves\u003c\/li\u003e\n\u003cli\u003eShowerhead\u003c\/li\u003e\n\u003cli\u003eDewaxer\u003c\/li\u003e\n\u003cli\u003eAVCO Ball Valve\u003c\/li\u003e\n\u003cli\u003eHP Clamps\u003c\/li\u003e\n\u003cli\u003eJacketed Base\/Platter\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cb\u003eUnit Includes:\u003c\/b\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollection Base\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003e6\"x6\" Welded Bottom Base\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003e6\"x4\" Kettle top with 3\" Sight Glass\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eAssembled 4\" extractor lid\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e3\"x24\" Material column with reducer \u0026amp; top cap\u003c\/li\u003e\n\u003cli\u003e6LB Mastercool Solvent Recovery Tank\u003c\/li\u003e\n\u003cli\u003e60\" High Pressure PTFE Braided SS Hose\u003c\/li\u003e\n\u003cli\u003e(2) 6\" clamps, (2) 3\" clamps and a 1.5\" clamp with gaskets\u003c\/li\u003e\n\u003cli\u003eInstruction Manual\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cstyle\u003e\u003c!--\nbutton.accordion {\n        background-color: #ED1C24;\n        color: #fff;\n        cursor: pointer;\n        padding: 18px;\n        margin-bottom: 10px;\n        width: 100%;\n        border: none;\n        text-align: left;\n        outline: none;\n        font-size: 16px;\n        transition: 0.4s;\n    }\n\n    button.accordion.active,\n    button.accordion:hover {\n        background-color: #000080;\n    }\n\n    button.accordion:after {\n        content: '';\n        color: #fff;\n        font-weight: bold;\n        float: right;\n        margin-left: 5px;\n    }\n\n    button.accordion.active:after {\n        content: \"\";\n    }\n\n    div.panel {\n        padding: 0 18px;\n        background-color: white;\n        max-height: 0;\n        overflow: hidden;\n        transition: max-height 0.2s ease-out;\n    }\n\n    .panel {\n        margin-bottom: 20px;\n        background-color: #fff;\n        border: 1px solid transparent;\n        border-radius: 0;\n        -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n        box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n    }\n\n    div.col-lg-4 {\n        width: 33.33%;\n        float: left;\n        margin-top: 10px;\n    }\n\n    div.col-lg-12 {\n        width: 100%;\n        float: left;\n    }\n\n    div.col-lg-6 {\n        width: 50%;\n        float: left;\n    }\n\n    \/* Calculator Styles *\/\n    div#volumeCalculator {\n        padding: 15px;\n        background: #fcfcfc;\n    }\n\n    div#materialSelector {\n        padding: 15px;\n    }\n\n    div#materialSelector {\n        padding: 15px;\n    }\n\n    div#materialCapacityCalculator {\n        padding: 15px;\n        background-color: #fcfcfc;\n    }\n\n    div#capacityByDensityCalculator {\n        padding: 15px;\n        margin-bottom: 15px;\n        padding-bottom: 40px;\n    }\n\n    .bor {\n        border: 2px solid #652d91;\n    }\n\n    div#cansOfButaneCalculator {\n        padding: 15px;\n        padding-bottom: 40px;\n    }\n\n    button.accordion.active,\n    button.accordion:hover {\n        background-color: #652d91;\n    }\n\n    .rad {\n        margin-top: 6%;\n    }\n\n    label.hoverme {\n        text-align: center;\n        padding: 10px;\n        background-color: #d8d8d8;\n        border-radius: 35px;\n        margin-top: 25px;\n        width: 250px;\n        color: #000;\n        font-weight: 800;\n    }\n\n    label.hoverme:hover {\n        background: #652d91;\n        \/* width: 200px; *\/\n        color: #fff;\n        font-weight: bold;\n    }\n\n    label.hoverme:active {\n        background: #652d9180;\n        \/* width: 200px; *\/\n        color: #fff;\n        font-weight: bold;\n    }\n\n    :checked+span {\n        font-weight: bold;\n        background: #652d9180;\n        color: #fff;\n    }\n\n    input.bor.answer {\n        margin-top: -15px;\n    }\n\n    td#packingDensityValues {\n        width: 250px;\n    }\n\n    tr.greyback {\n        background-color: #e0e0e0;\n        height: 30px;\n    }\n\n    input[type=checkbox]+label {\n        color: #ccc;\n        font-style: italic;\n        background-color: #652d9180;\n    }\n\n    \/* (add additional styles here) * #capacityByDensityCalculator td { \/* text-align: center; *\/\n    \/* border: 1px solid #ddd; *\/\n    #cansOfButaneCalculator td {\n        \/* text-align: center; *\/\n        \/* border: 1px solid #ddd; *\/\n    }\n\n    label.cvolume {\n        width: 300px;\n    }\n\n    select#radiusInput {\n        margin-top: 6%;\n    }\n\n    .panel {\n        height: 100% !important;\n    }\n\n    @media only screen and (min-device-width: 375px) and (max-device-width: 812px) and (-webkit-min-device-pixel-ratio: 3) and (orientation: portrait) {\n        .row.topone {\n            display: grid;\n        }\n\n        .col-xs-12 {\n            width: 100% !important;\n        }\n    }\n--\u003e\u003c\/style\u003e\n\u003cdiv class=\"a-left\"\u003e\n\u003cbutton class=\"accordion\"\u003eMaterial Capacity\u003c\/button\u003e\n\u003cdiv class=\"panel\"\u003e\n\u003cdiv class=\"row topone\"\u003e\n\u003cdiv class=\"col-lg-4\"\u003e\n\u003cdiv id=\"volumeCalculator\"\u003e\n\u003ch4\u003e\u003cstrong style=\"color: #000;\"\u003eCylinder Volume\u003c\/strong\u003e\u003c\/h4\u003e\n\u003cdiv style=\"margin-bottom: 50px; display: grid;\" class=\"row\"\u003e\n\u003cdiv class=\"col-lg-4\"\u003e\n\u003clabel for=\"radius\" class=\"cvolume\"\u003eTriclamp Spool (in)\u003c\/label\u003e\u003cselect class=\"bor\" name=\"radius\" id=\"radiusInput\"\u003e\n\u003coption value=\"0.685\" name=\"radius\" type=\"number\"\u003e1.5\"\u003c\/option\u003e\n\u003coption value=\"0.935\" name=\"radius\" type=\"number\"\u003e2\"\u003c\/option\u003e\n\u003coption value=\"1.435\" name=\"radius\" type=\"number\"\u003e3\"\u003c\/option\u003e\n\u003coption value=\"1.917\" name=\"radius\" type=\"number\"\u003e4\"\u003c\/option\u003e\n\u003coption value=\"2.891\" name=\"radius\" type=\"number\"\u003e6\"\u003c\/option\u003e\n\u003coption value=\"3.891\" name=\"radius\" type=\"number\"\u003e8\"\u003c\/option\u003e\n\u003coption value=\"4.891\" name=\"radius\" type=\"number\"\u003e10\"\u003c\/option\u003e\n\u003coption value=\"5.88\" name=\"radius\" type=\"number\"\u003e12\"\u003c\/option\u003e\n\u003c\/select\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col-lg-4\"\u003e\n\u003clabel for=\"length\" class=\"cvolume\"\u003eLength (in)\u003c\/label\u003e\u003cselect class=\"bor\" id=\"lengthInput\"\u003e\n\u003coption value=\"1\" type=\"number\"\u003e1\"\u003c\/option\u003e\n\u003coption value=\"2\" type=\"number\"\u003e2\"\u003c\/option\u003e\n\u003coption value=\"3\" type=\"number\"\u003e3\"\u003c\/option\u003e\n\u003coption value=\"4\" type=\"number\"\u003e4\"\u003c\/option\u003e\n\u003coption value=\"6\" type=\"number\"\u003e6\"\u003c\/option\u003e\n\u003coption value=\"8\" type=\"number\"\u003e8\"\u003c\/option\u003e\n\u003coption value=\"10\" type=\"number\"\u003e10\"\u003c\/option\u003e\n\u003coption value=\"12\" type=\"number\"\u003e12\"\u003c\/option\u003e\n\u003coption value=\"18\" type=\"number\"\u003e18\"\u003c\/option\u003e\n\u003coption value=\"24\" type=\"number\"\u003e24\"\u003c\/option\u003e\n\u003coption value=\"36\" type=\"number\"\u003e36\"\u003c\/option\u003e\n\u003coption value=\"48\" type=\"number\"\u003e48\"\u003c\/option\u003e\n\u003c\/select\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col-lg-4\"\u003e\n\u003clabel for=\"volume\" class=\"cvolume\"\u003eVolume (in\u003csup\u003e3\u003c\/sup\u003e)\u003c\/label\u003e\u003cbr\u003e \u003cinput value=\"\" disabled name=\"volume\" type=\"text\" class=\"bor answer volumeResult disabled\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col-lg-4\"\u003e\n\u003cdiv id=\"materialSelector\"\u003e\n\u003ch4\u003e\u003cstrong style=\"color: #000;\"\u003eSelect Material\u003c\/strong\u003e\u003c\/h4\u003e\n\u003cdiv style=\"display: grid;\" class=\"row\"\u003e\n\u003cdiv class=\"col-lg-4 col-xs-12\"\u003e\n\u003cinput checked value=\"butane\" id=\"materialSelectButane\" name=\"materialSelect\" type=\"radio\"\u003e \u003clabel class=\"hoverme\" for=\"materialSelectButane\"\u003eButane\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col-lg-4 col-xs-12\"\u003e\n\u003cinput value=\"isobutane\" id=\"materialSelectIsoButane\" name=\"materialSelect\" type=\"radio\"\u003e \u003clabel class=\"hoverme\" for=\"materialSelectIsoButane\"\u003eISO-Butane\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col-lg-4 col-xs-12\"\u003e\n\u003cinput value=\"propane\" id=\"materialSelectPropane\" name=\"materialSelect\" type=\"radio\"\u003e \u003clabel class=\"hoverme\" for=\"materialSelectPropane\"\u003ePropane\u003c\/label\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col-lg-4 col-xs-12\"\u003e\n\u003cdiv id=\"materialCapacityCalculator\"\u003e\n\u003ch4\u003e\u003cstrong style=\"color: #000;\"\u003eHow Much \u003cspan class=\"materialName\"\u003e\u003c\/span\u003e Will Fit in Cylinder\u003c\/strong\u003e\u003c\/h4\u003e\n\u003cdiv style=\"margin-bottom: 20px;\" class=\"row\"\u003e\n\u003cdiv class=\"col-lg-12\"\u003e\n\u003cp\u003e\u003cb\u003eFormula\u003c\/b\u003e\u003cbr\u003eVolume x Weight of Water x Specific Gravity\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col-lg-12\"\u003e\n\u003cp\u003e\u003cb\u003eConstants\u003c\/b\u003e\u003cbr\u003eWeight of Water = 0.0360 (lbs \/ in\u003csup\u003e3\u003c\/sup\u003e)\u003cbr\u003eSpecific Gravity of \u003cspan class=\"materialName\"\u003e\u003c\/span\u003e = \u003cspan class=\"materialSpecificGravity\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv class=\"col-lg-12\"\u003e\n\u003clabel for=\"capacity\"\u003eLbs. of \u003cspan class=\"materialName\"\u003e\u003c\/span\u003e:\u003c\/label\u003e \u003cinput class=\"bor\" disabled value=\"\" name=\"capacity\" type=\"text\" id=\"capacityResult\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col-lg-12\"\u003e\n\u003clabel for=\"recommendedCapacity\"\u003eRecommended:\u003c\/label\u003e \u003cinput class=\"bor\" disabled value=\"\" name=\"recommendedCapacity\" type=\"text\" id=\"recommendedCapacity\"\u003e \u003csmall\u003e\u003cem\u003eAccount for an 80% fill to avoid a hydraulic lock \u003c\/em\u003e\u003c\/small\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"capacityByDensityCalculator\"\u003e\n\u003cdiv style=\"margin-bottom: 20px;\" class=\"row\"\u003e\n\u003cdiv class=\"col-lg-12\"\u003e\n\u003ch4\u003e\u003cstrong style=\"color: #000;\"\u003eHow Much Material Will Fit in the Cylinder\u003c\/strong\u003e\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ctable width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr class=\"greyback\"\u003e\n\u003ctd id=\"packingDensityValues\"\u003ePacking Density (g)\u003c\/td\u003e\n\u003ctd\u003e2.5\u003c\/td\u003e\n\u003ctd\u003e3\u003c\/td\u003e\n\u003ctd\u003e3.5\u003c\/td\u003e\n\u003ctd\u003e4.3\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"gramsOfMaterialValues\"\u003eGrams of Material\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"greyback\"\u003e\n\u003ctd id=\"lbsOfMaterialValues\"\u003eLbs. of Material\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\/\/ \u003c![CDATA[\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n                CalculatorApp.init();\n            });\n            var CalculatorApp = {\n                init: function () {\n                    this.bindEvents();\n                    this.updateSelectedMaterial();\n                    this.setInitialState();\n                },\n                bindEvents: function () {\n                    jQuery('#materialSelector').on('change', this.handlers.updateVolumeResult.bind(this));\n                    jQuery('#volumeCalculator').on('input', [jQuery('#radiusInput'), jQuery('#lengthInput')],\n                        this.handlers.updateVolumeResult.bind(this));\n                    jQuery('#poundsOfButaneInput').on('change', this.handlers.updateButaneCansResult.bind(\n                    this));\n                },\n                updateSelectedMaterial: function () {\n                    this.selectedMaterial = jQuery('input[name=\"materialSelect\"]:checked').val();\n                    jQuery('.materialName').each(function () {\n                        jQuery(this).text(CalculatorApp.materialNameToString(CalculatorApp\n                            .selectedMaterial));\n                    });\n                    jQuery('.materialSpecificGravity').each(function () {\n                        jQuery(this).text(CalculatorApp.constants.SPECIFIC_GRAVITIES[CalculatorApp\n                            .selectedMaterial]);\n                    });\n                },\n                setInitialState: function () {\n                    this.setButaneLbsColumn();\n                    this.handlers.updateVolumeResult();\n                    this.handlers.updateButaneCansResult();\n                },\n                setButaneLbsColumn: function () {\n                    jQuery('.butaneCanWeight').each(function (index) {\n                        jQuery(this).text(CalculatorApp.butaneCanWeightValues[index])\n                    });\n                },\n                materialNameToString: function (materialName) {\n                    if (materialName === 'isobutane') return 'ISO-Butane';\n                    return materialName.charAt(0).toUpperCase() + materialName.slice(1);\n                },\n                decimalPlaces: 3, \/\/ set the number of decimals you want in calculation results\n                selectedMaterial: 'butane', \/\/ default state\n                butaneCanWeightValues: [0.555, 0.396, 0.264, 0.198], \/\/ default state\n                constants: {\n                    RECOMMENDED_CAPACITY: 0.8,\n                    POUNDS_PER_GRAM: 0.00220462,\n                    WEIGHT_OF_H2O: 0.036,\n                    SPECIFIC_GRAVITIES: {\n                        butane: 0.601, \/\/ at 70 deg F\n                        isobutane: 0.563, \/\/ at 60 deg F\n                        propane: 0.495 \/\/ at 70 deg F\n                    }\n                },\n                handlers: {\n                    updateVolumeResult: function () {\n                        CalculatorApp.updateSelectedMaterial();\n                        var radius = jQuery('#radiusInput').val();\n                        var length = jQuery('#lengthInput').val();\n                        var volume = (Math.PI * radius ** 2) * length;\n                        jQuery('.volumeResult').each(function () {\n                            jQuery(this).val(volume.toFixed(CalculatorApp.decimalPlaces) + ' in³')\n                        });\n                        var capacity =\n                            volume *\n                            CalculatorApp.constants.WEIGHT_OF_H2O *\n                            CalculatorApp.constants.SPECIFIC_GRAVITIES[CalculatorApp.selectedMaterial];\n                        jQuery('#capacityResult').val(capacity.toFixed(CalculatorApp.decimalPlaces));\n                        jQuery('#recommendedCapacity').val(\n                            (capacity * CalculatorApp.constants.RECOMMENDED_CAPACITY)\n                            .toFixed(CalculatorApp.decimalPlaces)\n                        );\n                        var densityValues = jQuery('#packingDensityValues')\n                            .siblings()\n                            .map(function () {\n                                return jQuery(this).text();\n                            });\n                        CalculatorApp.handlers.updateCapacityByDensityResults(volume, densityValues);\n                    },\n                    updateCapacityByDensityResults: function (volume, densityValues) {\n                        jQuery('#gramsOfMaterialValues')\n                            .siblings()\n                            .each(function (index) {\n                                jQuery(this).text(\n                                    (parseFloat(densityValues[index]) * volume)\n                                    .toFixed(CalculatorApp.decimalPlaces)\n                                );\n                            });\n                        jQuery('#lbsOfMaterialValues')\n                            .siblings()\n                            .each(function (index) {\n                                jQuery(this).text(\n                                    (parseFloat(densityValues[index]) * volume * CalculatorApp.constants\n                                        .POUNDS_PER_GRAM)\n                                    .toFixed(CalculatorApp.decimalPlaces)\n                                );\n                            });\n                    },\n                    updateButaneCansResult: function () {\n                        var poundsOfButane = jQuery('#poundsOfButaneInput').val();\n                        jQuery('.numberOfCans').each(function (index) {\n                            jQuery(this).text(\n                                (poundsOfButane \/ CalculatorApp.butaneCanWeightValues[index])\n                                .toFixed(CalculatorApp.decimalPlaces)\n                            );\n                        });\n                    }\n                }\n            };\n            var acc = document.getElementsByClassName(\"accordion\");\n            var i;\n            for (i = 0; i \u003c acc.length; i++) {\n                acc[i].onclick = function () {\n                    this.classList.toggle(\"active\");\n                    var panel = this.nextElementSibling;\n                    if (panel.style.maxHeight) {\n                        panel.style.maxHeight = null;\n                    } else {\n                        panel.style.maxHeight = panel.scrollHeight + \"px\";\n                    }\n                }\n            }\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"BVV","offers":[{"title":"Explorer","offer_id":51602159239488,"sku":"CLS1LB-SKY-V1","price":1065.0,"currency_code":"USD","in_stock":true},{"title":"Professional","offer_id":51602159272256,"sku":"CLS1LB-SKY-V2","price":1450.0,"currency_code":"USD","in_stock":true},{"title":"Elite","offer_id":51602159305024,"sku":"CLS1LB-SKY-V3","price":2250.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0696\/7335\/3536\/files\/CLS1LB-SKY-V1-K.jpg?v=1772988657","url":"https:\/\/growtime.shop\/products\/1lb-skylight-top-fill-closed-loop-extractor","provider":"Grow Time Garden Supply","version":"1.0","type":"link"}