PageSourceSearch

https://diysolarshack.com/about/

html diysolarshack.com collected 2026-10-06 14:09:49 UTC 82,534 bytes, 742 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US">
3   <head>
4      <meta charset="utf-8">
5      
5<script data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer="">
6         var __ez=__ez||{};__ez.stms=Date.now();__ez.evt={};__ez.script={};__ez.ck=__ez.ck||{};__ez.template={};__ez.template.isOrig=true;__ez.queue=(function(){var count=0,incr=0,items=[],timeDelayFired=false,hpItems=[],lpItems=[],allowLoad=true;var obj={func:function(name,funcName,parameters,isBlock,blockedBy,deleteWhenComplete,proceedIfError){var self=this;this.name=name;this.funcName=funcName;this.parameters=parameters===null?null:(parameters instanceof Array)?parameters:[parameters];this.isBlock=isBlock;this.blockedBy=blockedBy;this.deleteWhenComplete=deleteWhenComplete;this.isError=false;this.isComplete=false;this.isInitialized=false;this.proceedIfError=proceedIfError;this.isTimeDelay=false;this.process=function(){log("... func = "+name);self.isInitialized=true;self.isComplete=true;log("... func.apply: "+name);var funcs=self.funcName.split('.');var func=null;if(funcs.length>3){}else if(funcs.length===3){func=window[funcs[0]][funcs[1]][funcs[2]];}else if(funcs.length===2){func=window[funcs[0]][funcs[1]];}else{func=window[self.funcName];}
7         if(typeof func!=='undefined'&&func!==null){func.apply(null,this.parameters);}
8         if(self.deleteWhenComplete===true)delete items[name];if(self.isBlock===true){log("----- F'D: "+self.name);processAll();}}},file:function(name,path,isBlock,blockedBy,async,defer,proceedIfError){var self=this;this.name=name;this.path=path;this.async=async;this.defer=defer;this.isBlock=isBlock;this.blockedBy=blockedBy;this.isInitialized=false;this.isError=false;this.isComplete=false;this.proceedIfError=proceedIfError;this.isTimeDelay=false;this.process=function(){self.isInitialized=true;log("... file = "+name);var scr=document.createElement('script');scr.src=path;if(async===true)scr.async=true;else if(defer===true)scr.defer=true;scr.onerror=function(){log("----- ERR'D: "+self.name);self.isError=true;if(self.isBlock===true){processAll();}};scr.onreadystatechange=scr.onload=function(){var state=scr.readyState;log("----- F'D: "+self.name);if((!state||/loaded|complete/.test(state))){self.isComplete=true;if(self.isBlock===true){processAll();}}};document.getElementsByTagName('head')[0].appendChild(scr);}},fileLoaded:function(name,isComplete){this.name=name;this.path="";this.async=false;this.defer=false;this.isBlock=false;this.blockedBy=[];this.isInitialized=true;this.isError=false;this.isComplete=isComplete;this.proceedIfError=false;this.isTimeDelay=false;this.process=function(){};}};function init(){window.addEventListener("load",function(){setTimeout(function(){timeDelayFired=true;log('TDELAY -----');processAll();},5000);},false);}
9         function addFile(name,path,isBlock,blockedBy,async,defer,proceedIfError,priority){var item=new obj.file(name,path,isBlock,blockedBy,async,defer,proceedIfError);if(priority===true){hpItems[name]=item}else{lpItems[name]=item}
10         items[name]=item;checkIfBlocked(item);}
11         function setallowLoad(settobool){allowLoad=settobool}
12         function addFunc(name,func,parameters,isBlock,blockedBy,autoInc,deleteWhenComplete,proceedIfError,priority){if(autoInc===true)name=name+"_"+incr++;var item=new obj.func(name,func,parameters,isBlock,blockedBy,deleteWhenComplete,proceedIfError);if(priority===true){hpItems[name]=item}else{lpItems[name]=item}
13         items[name]=item;checkIfBlocked(item);}
14         function addTimeDelayFile(name,path){var item=new obj.file(name,path,false,[],false,false,true);item.isTimeDelay=true;log(name+' ... '+' FILE! TDELAY');lpItems[name]=item;items[name]=item;checkIfBlocked(item);}
15         function addTimeDelayFunc(name,func,parameters){var item=new obj.func(name,func,parameters,false,[],true,true);item.isTimeDelay=true;log(name+' ... '+' FUNCTION! TDELAY');lpItems[name]=item;items[name]=item;checkIfBlocked(item);}
16         function checkIfBlocked(item){if(isBlocked(item)===true||allowLoad==false)return;item.process();}
17         function isBlocked(item){if(item.isTimeDelay===true&&timeDelayFired===false){log(item.name+" blocked = TIME DELAY!");return true;}
18         if(item.blockedBy instanceof Array){for(var i=0;i<item.blockedBy.length;i++){var block=item.blockedBy[i];if(items.hasOwnProperty(block)===false){log(item.name+" blocked = "+block);return true;}else if(item.proceedIfError===true&&items[block].isError===true){return false;}else if(items[block].isComplete===false){log(item.name+" blocked = "+block);return true;}}}
19         return false;}
20         function markLoaded(filename){if(!filename||0===filename.length){return;}
21         if(filename in items){var item=items[filename];if(item.isComplete===true){log(item.name+' '+filename+': error loaded duplicate')}else{item.isComplete=true;item.isInitialized=true;}}else{items[filename]=new obj.fileLoaded(filename,true);}
22         log("markLoaded dummyfile: "+items[filename].name);}
23         function logWhatsBlocked(){for(var i in items){if(items.hasOwnProperty(i)===false)continue;var item=items[i];isBlocked(item)}}
24         function log(msg){var href=window.location.href;var reg=new RegExp('[?&]ezq=([^&#]*)','i');var string=reg.exec(href);var res=string?string[1]:null;if(res==="1")console.debug(msg);}
25         function processAll(){count++;
25if(count>200)return;log("let's go");processItems(hpItems);processItems(lpItems);}
26         function processItems(list){for(var i in list){if(list.hasOwnProperty(i)===false)continue;var item=list[i];if(item.isComplete===true||isBlocked(item)||item.isInitialized===true||item.isError===true){if(item.isError===true){log(item.name+': error')}else if(item.isComplete===true){log(item.name+': complete already')}else if(item.isInitialized===true){log(item.name+': initialized already')}}else{item.process();}}}
27         init();return{addFile:addFile,addDelayFile:addTimeDelayFile,addFunc:addFunc,addDelayFunc:addTimeDelayFunc,items:items,processAll:processAll,setallowLoad:setallowLoad,markLoaded:markLoaded,logWhatsBlocked:logWhatsBlocked,};})();__ez.evt.add=function(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent("on"+t,n):e["on"+t]=n()},__ez.evt.remove=function(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent?e.detachEvent("on"+t,n):delete e["on"+t]};__ez.script.add=function(e){var t=document.createElement("script");t.src=e,t.async=!0,t.type="text/javascript",document.getElementsByTagName("head")[0].appendChild(t)};__ez.dot={};__ez.queue.addFile('/detroitchicago/boise.js', '/detroitchicago/boise.js?gcb=195-0&cb=1', true, [], true, false, true, false);__ez.queue.addFile('/detroitchicago/memphis.js', '/detroitchicago/memphis.js?gcb=195-0&cb=14', true, [], true, false, true, false);__ez.queue.addFile('/detroitchicago/minneapolis.js', '/detroitchicago/minneapolis.js?gcb=195-0&cb=3', true, [], true, false, true, false);__ez.queue.addFile('/detroitchicago/rochester.js', '/detroitchicago/rochester.js?gcb=195-0&cb=12', false, ['/detroitchicago/memphis.js','/detroitchicago/minneapolis.js'], true, false, true, false);__ez.vep=(function(){var pixels=[],pxURL="/detroitchicago/grapefruit.gif";function AddPixel(vID,pixelData){if(__ez.dot.isDefined(vID)&&__ez.dot.isValid(pixelData)){pixels.push({type:'video',video_impression_id:vID,domain_id:__ez.dot.getDID(),t_epoch:__ez.dot.getEpoch(0),data:__ez.dot.dataToStr(pixelData)});}}
28         function Fire(){if(typeof document.visibilityState!=='undefined'&&document.visibilityState==="prerender"){return;}
29         if(__ez.dot.isDefined(pixels)&&pixels.length>0){while(pixels.length>0){var j=5;if(j>pixels.length){j=pixels.length;}
30         var pushPixels=pixels.splice(0,j);var pixelURL=__ez.dot.getURL(pxURL)+"?orig="+(__ez.template.isOrig===true?1:0)+"&v="+btoa(JSON.stringify(pushPixels));__ez.dot.Fire(pixelURL);}}
31         pixels=[];}
32         return{Add:AddPixel,Fire:Fire};})();
33      </script>
33
34      
34<script data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer="">
35         __ez.pel=(function(){var pixels=[],pxURL="/porpoiseant/army.gif";function AddAndFirePixel(adSlot,pixelData){AddPixel(adSlot,pixelData,0,0,0,0,0);Fire();}
36         function AddAndFireOrigPixel(adSlot,pixelData){AddPixel(adSlot,pixelData,0,0,0,0,0,true);Fire();}
37         function GetCurrentPixels(){return pixels;}
38         function AddPixel(adSlot,pixelData,revenue,est_revenue,bid_floor_filled,bid_floor_prev,stat_source_id,isOrig){if(!__ez.dot.isDefined(adSlot)||__ez.dot.isAnyDefined(adSlot.getSlotElementId,adSlot.ElementId)==false){return;}
39         if(typeof isOrig==='undefined'){isOrig=false;}
40         var ad_position_id=parseInt(__ez.dot.getTargeting(adSlot,'ap'));var impId=__ez.dot.getSlotIID(adSlot),adUnit=__ez.dot.getAdUnit(adSlot,isOrig);var compId=parseInt(__ez.dot.getTargeting(adSlot,"compid"));var lineItemId=0;var creativeId=0;var ezimData=getEzimData(adSlot);if(typeof ezimData=='object'){if(ezimData.creative_id!==undefined){creativeId=ezimData.creative_id;}
41         if(ezimData.line_item_id!==undefined){lineItemId=ezimData.line_item_id;}}
42         if(__ez.dot.isDefined(impId,adUnit)&&__ez.dot.isValid(pixelData)){if((impId!=="0"||isOrig===true)&&adUnit!==""){pixels.push({type:"impression",impression_id:impId,domain_id:__ez.dot.getDID(),unit:adUnit,t_epoch:__ez.dot.getEpoch(0),revenue:revenue,est_revenue:est_revenue,ad_position:ad_position_id,ad_size:"",bid_floor_filled:bid_floor_filled,bid_floor_prev:bid_floor_prev,stat_source_id:stat_source_id,country_code:__ez.dot.getCC(),pageview_id:__ez.dot.getPageviewId(),comp_id:compId,line_item_id:lineItemId,creative_id:creativeId,data:__ez.dot.dataToStr(pixelData),is_orig:isOrig||__ez.template.isOrig,});}}}
43         function AddPixelById(impFullId,pixelData,isOrig,revenue){var vals=impFullId.split('/');if(__ez.dot.isDefined(impFullId)&&vals.length===3&&__ez.dot.isValid(pixelData)){var adUnit=vals[0],impId=vals[2];var pix={type:"impression",impression_id:impId,domain_id:__ez.dot.getDID(),unit:adUnit,t_epoch:__ez.dot.getEpoch(0),pageview_id:__ez.dot.getPageviewId(),data:__ez.dot.dataToStr(pixelData),is_orig:isOrig||__ez.template.isOrig};if(typeof revenue!=='undefined'){pix.revenue=revenue;}
44         pixels.push(pix);}}
45         function Fire(){if(typeof document.visibilityState!=='undefined'&&document.visibilityState==="prerender")return;if(__ez.dot.isDefined(pixels)&&pixels.length>0){var allPixels=[pixels.filter(function(pixel){return pixel.is_orig}),pixels.filter(function(pixel){return!pixel.is_orig})];allPixels.forEach(function(pixels){while(pixels.length>0){var isOrig=pixels[0].is_orig||false;var j=5;if(j>pixels.length){j=pixels.length;}
46         var pushPixels=pixels.splice(0,j);var pixelURL=__ez.dot.getURL(pxURL)+"?orig="+(isOrig===true?1:0)+"&sts="+btoa(JSON.stringify(pushPixels));if(typeof window.isAmp!=='undefined'&&isAmp&&typeof window._ezaq!=='undefined'&&_ezaq.hasOwnProperty("domain_id")){pixelURL+="&visit_uuid="+_ezaq['visit_uuid'];}
47         __ez.dot.Fire(pixelURL);}});}
48         pixels=[];}
49         function getEzimData(adSlot){if(typeof _ezim_d=="undefined"){return false;}
50         var adUnitName=__ez.dot.getAdUnitPath(adSlot).split('/').pop();if(typeof _ezim_d==='object'&&_ezim_d.hasOwnProperty(adUnitName)){return _ezim_d[adUnitName];}
51         for(var ezimKey in _ezim_d){if(ezimKey.split('/').pop()===adUnitName){return _ezim_d[ezimKey];}}
52         return false;}
53         return{Add:AddPixel,AddAndFire:AddAndFirePixel,AddAndFireOrig:AddAndFireOrigPixel,AddById:AddPixelById,Fire:Fire,GetPixels:GetCurrentPixels,};})();__ez.queue.addFile('/detroitchicago/raleigh.js', '/detroitchicago/raleigh.js?gcb=195-0&cb=5', false, [], true, false, true, false);__ez.queue.addFile('/detroitchicago/tampa.js', '/detroitchicago/tampa.js?gcb=195-0&cb=4', false, [], true, false, true, false);
54      </script>
54
55      
55<script data-ezscrex="false" data-cfasync="false">
56         (function(){if("function"===typeof window.CustomEvent)return!1;window.CustomEvent=function(c,a){a=a||{bubbles:!1,cancelable:!1,detail:null};var b=document.createEvent("CustomEvent");b.initCustomEvent(c,a.bubbles,a.cancelable,a.detail);return b}})();
57      </script>
57
58      
58<script data-ezscrex="false" data-cfasync="false">
59         __ez.queue.addFile('/detroitchicago/tulsa.js', '/detroitchicago/tulsa.js?gcb=195-0&cb=5', false, [], true, false, true, false);
60      </script>
60
61      <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
62      <link rel="profile" href="https://gmpg.org/xfn/11">
63      <title>About – Solar Website</title>
64      <link rel="dns-prefetch" href="//www.googletagmanager.com">
65      <link rel="dns-prefetch" href="//pagead2.googlesyndication.com">
66      <link rel="alternate" type="application/rss+xml" title="Solar Website » Stories Feed" href="/web-stories/feed/">
67      <link rel="stylesheet" id="wp-block-library-css" href="/wp-includes/css/dist/block-library/style.min.css" type="text/css" media="all">
68      <link rel="stylesheet" id="wp-components-css" href="/wp-includes/css/dist/components/style.min.css" type="text/css" media="all">
69      <link rel="stylesheet" id="wp-block-editor-css" href="/wp-includes/css/dist/block-editor/style.min.css" type="text/css" media="all">
70      <link rel="stylesheet" id="wp-nux-css" href="/wp-includes/css/dist/nux/style.min.css" type="text/css" media="all">
71      <link rel="stylesheet" id="wp-reusable-blocks-css" href="/wp-includes/css/dist/reusable-blocks/style.min.css" type="text/css" media="all">
72      <link rel="stylesheet" id="wp-editor-css" href="/wp-includes/css/dist/editor/style.min.css" type="text/css" media="all">
73      <link rel="stylesheet" id="ilist_block-cgb-style-css-css" href="/wp-content/plugins/infographic-and-list-builder-ilist/gutenberg/ilist-block/dist/ilist_block-cgb-style-css.min.css" type="text/css" media="all">
74      <style id="global-styles-inline-css" type="text/css">
75         body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--neve-link-color: var(--nv-primary-accent);--wp--preset--color--neve-link-hover-color: var(--nv-secondary-accent);--wp--preset--color--nv-site-bg: var(--nv-site-bg);--wp--preset--color--nv-light-bg: var(--nv-light-bg);--wp--preset--color--nv-dark-bg: var(--nv-dark-bg);--wp--preset--color--neve-text-color: var(--nv-text-color);--wp--preset--color--nv-text-dark-bg: var(--nv-text-dark-bg);--wp--preset--color--nv-c-1: var(--nv-c-1);--wp--preset--color--nv-c-2: var(--nv-c-2);--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
75--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--duotone--dark-grayscale: url('#wp-duotone-dark-grayscale');--wp--preset--duotone--grayscale: url('#wp-duotone-grayscale');--wp--preset--duotone--purple-yellow: url('#wp-duotone-purple-yellow');--wp--preset--duotone--blue-red: url('#wp-duotone-blue-red');--wp--preset--duotone--midnight: url('#wp-duotone-midnight');--wp--preset--duotone--magenta-yellow: url('#wp-duotone-magenta-yellow');--wp--preset--duotone--purple-green: url('#wp-duotone-purple-green');--wp--preset--duotone--blue-orange: url('#wp-duotone-blue-orange');--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
75.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
76      </style>
77      <link rel="stylesheet" id="crp-style-thumbs-grid-css" href="/wp-content/plugins/contextual-related-posts/css/thumbs-grid.min.css" type="text/css" media="all">
78      <style id="crp-style-thumbs-grid-inline-css" type="text/css">
79         .crp_related ul li a.crp_link {
80         grid-template-rows: 100px 50px;
81         }
82         .crp_related ul {
83         grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
84         }
85      </style>
86      <link rel="stylesheet" id="ilist-embed-form-css-css" href="/wp-content/plugins/infographic-and-list-builder-ilist//embed/css/ilist-embed-form-css.min.css" type="text/css" media="all">
87      <link rel="stylesheet" id="ce_responsive-css" href="/wp-content/plugins/simple-embed-code/css/video-container.min.css" type="text/css" media="all">
88      <link rel="stylesheet" id="toc-screen-css" href="/wp-content/plugins/table-of-contents-plus/screen.min.css" type="text/css" media="all">
89      <link rel="stylesheet" id="neve-style-css" href="/wp-content/themes/neve/assets/css/style-legacy.min.css" type="text/css" media="all">
90      <style id="neve-style-inline-css" type="text/css">
91         .header-menu-sidebar-inner li.menu-item-nav-search { display: none; }
92         [data-row-id] .row { display: flex !important; align-items: center; flex-wrap: unset;}
93         @media (max-width: 960px) { .footer--row .row { flex-direction: column; } }
94         .nv-meta-list li.meta:not(:last-child):after { content:"/" }
95         .container{ max-width: 748px; } .single-post-container .alignfull > [class*="__inner-container"], .single-post-container .alignwide > [class*="__inner-container"]{ max-width:718px } .button.button-primary, button, input[type=button], .btn, input[type="submit"], /* Buttons in navigation */ ul[id^="nv-primary-navigation"] li.button.button-primary > a, .menu li.button.button-primary > a, .wp-block-button.is-style-primary .wp-block-button__link, .wc-block-grid .wp-block-button .wp-block-button__link, form input[type="submit"], form button[type="submit"]{ background-color: var(--nv-primary-accent);color: #ffffff;border-radius:3px 3px 3px 3px;border:none;border-width:1px 1px 1px 1px; } .button.button-primary:hover, ul[id^="nv-primary-navigation"] li.button.button-primary > a:hover, .menu li.button.button-primary > a:hover, .wp-block-button.is-style-primary .wp-block-button__link:hover, .wc-block-grid .wp-block-button .wp-block-button__link:hover, form input[type="submit"]:hover, form button[type="submit"]:hover{ background-color: var(--nv-primary-accent);color: #ffffff; } .button.button-secondary:not(.secondary-default), .wp-block-button.is-style-secondary .wp-block-button__link{ background-color: var(--nv-primary-accent);color: #ffffff;border-radius:3px 3px 3px 3px;border:none;border-width:1px 1px 1px 1px; } .button.button-secondary.secondary-default{ background-color: var(--nv-primary-accent);color: #ffffff;border-radius:3px 3px 3px 3px;border:none;border-width:1px 1px 1px 1px; } .button.button-secondary:not(.secondary-default):hover, .wp-block-button.is-style-secondary .wp-block-button__link:hover{ background-color: var(--nv-primary-accent);color: #ffffff; } .button.button-secondary.secondary-default:hover{ background-color: var(--nv-primary-accent);color: #ffffff; } form input:read-write, form textarea, form select, form select option, form.wp-block-search input.wp-block-search__input, .widget select{ c
95olor: var(--nv-text-color); } form.search-form input:read-write{ padding-right:45px !important; } .global-styled{ --bgColor: var(--nv-site-bg); } .header-main-inner,.header-main-inner a:not(.button),.header-main-inner .navbar-toggle{ color: var(--nv-text-color); } .header-main-inner .nv-icon svg,.header-main-inner .nv-contact-list svg{ fill: var(--nv-text-color); } .header-main-inner .icon-bar{ background-color: var(--nv-text-color); } .hfg_header .header-main-inner{ background-image: none;background-size:cover;background-attachment: fixed;background-color:transparent; } .header-bottom-inner,.header-bottom-inner a:not(.button),.header-bottom-inner .navbar-toggle{ color: var(--nv-text-color); } .header-bottom-inner .nv-icon svg,.header-bottom-inner .nv-contact-list svg{ fill: var(--nv-text-color); } .header-bottom-inner .icon-bar{ background-color: var(--nv-text-color); } .hfg_header .header-bottom-inner .nav-ul .sub-menu{ background-color: var(--nv-site-bg); } .hfg_header .header-bottom-inner{ background-color: #f3f3f3; } .header-menu-sidebar .header-menu-sidebar-bg,.header-menu-sidebar .header-menu-sidebar-bg a:not(.button),.header-menu-sidebar .header-menu-sidebar-bg .navbar-toggle{ color: var(--nv-text-color); } .header-menu-sidebar .header-menu-sidebar-bg .nv-icon svg,.header-menu-sidebar .header-menu-sidebar-bg .nv-contact-list svg{ fill: var(--nv-text-color); } .header-menu-sidebar .header-menu-sidebar-bg .icon-bar{ background-color: var(--nv-text-color); } .hfg_header .header-menu-sidebar .header-menu-sidebar-bg .nav-ul .sub-menu{ background-color: var(--nv-site-bg); } .hfg_header .header-menu-sidebar .header-menu-sidebar-bg{ background-color: var(--nv-site-bg); } .header-menu-sidebar{ width: 360px; } .builder-item--logo .site-logo img{ max-width: 120px; } .builder-item--logo .site-logo{ padding:10px 0px 10px 0px; } .builder-item--logo{ margin:0px 0px 0px 0px; } .builder-item--nav-icon .navbar-toggle{ padding:10px 15px 10px 15px; } .builder-item--nav-icon{ margin:0px 0px 0px 0px; } .builder-item--primary-menu .nav-menu-primary > .nav-ul li:not(.woocommerce-mini-cart-item) > a,.builder-item--primary-menu .nav-menu-primary > .nav-ul .has-caret > a,.builder-item--primary-menu .nav-menu-primary > .nav-ul .neve-mm-heading span,.builder-item--primary-menu .nav-menu-primary > .nav-ul .has-caret{ color: var(--nv-text-color); } .builder-item--primary-menu .nav-menu-primary > .nav-ul li:not(.woocommerce-mini-cart-item) > a:after,.builder-item--primary-menu .nav-menu-primary > .nav-ul li > .has-caret > a:after{ background-color: var(--nv-secondary-accent); } .builder-item--primary-menu .nav-menu-primary > .nav-ul li:not(.woocommerce-mini-cart-item):hover > a,.builder-item--primary-menu .nav-menu-primary > .nav-ul li:hover > .has-caret > a,.builder-item--primary-menu .nav-menu-primary > .nav-ul li:hover > .has-caret{ color: var(--nv-secondary-accent); } .builder-item--primary-menu .nav-menu-primary > .nav-ul li:hover > .has-caret svg{ fill: var(--nv-secondary-accent); } .builder-item--primary-menu .nav-menu-primary > .nav-ul li.current-menu-item > a,.builder-item--primary-menu .nav-menu-primary > .nav-ul li.current_page_item > a,.builder-item--primary-menu .nav-menu-primary > .nav-ul li.current_page_item > .has-caret > a{ color: var(--nv-primary-accent); } .builder-item--primary-menu .nav-menu-primary > .nav-ul li.current-menu-item > .has-caret svg{ fill: var(--nv-primary-accent); } .builder-item--primary-menu .nav-ul > li:not(:last-of-type){ margin-right:20px; } .builder-item--primary-menu .style-full-height .nav-ul li:not(.menu-item-nav-search):not(.menu-item-nav-cart):hover > a:after{ width: calc(100% + 20px); } .builder-item--primary-menu .nav-ul li a, .builder-item--primary-menu .neve-mm-heading span{ min-height: 25px; } .header-menu-sidebar-inner .builder-item--primary-menu .primary-menu-ul.dropdowns-expanded > li > .sub-menu{ max-height: unset; } .header-menu-sidebar-inner .builder-item--primary-menu .primary-menu-ul.dropdowns-expanded > li > a > .caret-wrap,.header-menu-sidebar-inner .builder-item--primary-menu .primary-menu-ul.dropdowns-expanded > li > .has-caret .caret{ display: none; } .builder-item--primary-menu{ font-size: 1em; line-height: 1.6em; letter-spacing: 0px; font-weight: 500; text-transform: none;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px; } .builder-item--primary-menu svg{ width: 1em;height: 1em; } .builder-item--header_search_responsive a.nv-search.nv-icon > svg{ width: 15px;height: 15px; } .builder-item--header_search_responsive input[type=submit],.builder-item--header_search_responsive .nv-search-icon-wrap{ width: 14px; } .builder-item--header_search_responsive .nv-nav-search .search-form input[type=search]{ height: 40px; font-size: 14px;padding-right:50px;border-width:1px 1px 1px 1px;border-radius:1px 1px 1px 1px; } .builder-item--header_search_responsive .nv-search-icon-wrap .nv-icon svg{ width: 14px;height: 14px; } .builder-item--header_search_responsive .close-responsive-search svg{ width: 14px;height: 14px; } .builder-item--header_search_responsive{ padding:0px 10px 0px 10px;margin:0px 0px 0px 0px; }  .footer-bottom-inner,.footer-bottom-inner a:not(.button),.footer-bottom-inner .navbar-toggle{ color: var(--nv-text-color); } .footer-bottom-inner .nv-icon svg,.footer-bottom-inner .nv-contact-list svg{ fill: var(--nv-text-color); } .footer-bottom-inner .icon-bar{ background-color: var(--nv-text-color); } .footer-bottom-inner .nav-ul .sub-menu{ background-color: var(--nv-site-bg); } .builder-item--footer_copyright{ font-size: 1em; line-height: 1.6em; letter-spacing: 0px; font-weight: 500; text-transform: none;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px; } .builder-item--footer_copyright svg{ width: 1em;height: 1em; } @media(min-width: 576px){ .container{ max-width: 992px; } .single-post-container .alignfull > [class*="__inner-container"], .single-post-container .alignwide > [class*="__inner-container"]{ max-width:962px } .header-menu-sidebar{ width: 360px; } .builder-item--logo .site-logo img{ max-width: 120px; } .builder-item--logo .site-logo{ padding:10px 0px 10px 0px; } .builder-item--logo{ margin:0px 0px 0px 0px; } .builder-item--nav-icon .navbar-toggle{ padding:10px 15px 10px 15px; } .builder-item--nav-icon{ margin:0px 0px 0px 0px; } .builder-item--primary-menu .nav-ul > li:not(:last-of-type){ margin-right:20px; } .builder-item--primary-menu .style-full-height .nav-ul li:not(.menu-item-nav-search):not(.menu-item-nav-cart):hover > a:after{ width: calc(100% + 20px); } .builder-item--primary-menu .nav-ul li a, .builder-item--primary-menu .neve-mm-heading span{ min-height: 25px; } .builder-item--primary-menu{ font-size: 1em; line-height: 1.6em; letter-spacing: 0px;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px; } .builder-item--primary-menu svg{ width: 1em;height: 1em; } .builder-item--header_search_responsive input[type=submit],.builder-item--header_search_responsive .nv-search-icon-wrap{ width: 14px; } .builder-item--header_search_responsive .nv-nav-search .search-form input[type=search]{ height: 40px; font-size: 14px;padding-right:50px;border-width:1px 1px 1px 1px;border-radius:1px 1px 1px 1px; } .builder-item--header_search_responsive .nv-search-icon-wrap .nv-icon svg{ width: 14px;height: 14px; } .builder-item--header_search_responsive .close-responsive-search svg{ width: 14px;height: 14px; } .builder-item--header_search_responsive{ padding:0px 10px 0px 10px;margin:0px 0px 0px 0px; } .builder-item--footer_copyright{ font-size: 1em; line-height: 1.6em; letter-spacing: 0px;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px; } .builder-item--footer_copyright svg{ width: 1em;height: 1em; } }@media(min-width: 960px){ .container{ max-width: 1170px; } body:not(.single):not(.archive):not(.blog):not(.search):not(.error404) .neve-main > .container .col, body.post-type-archive-course .neve-main > .container .col, body.post-type-archive-llms_membership .neve-main > .container .col{ max-width: 70%; } body:not(.single):not(.archive):not(.blog):not(.search):not(.error404) .nv-sidebar-wrap, body.post-type-archive-course .nv-sidebar-wrap, body.post-type-archive-llms_membership .nv-sidebar-wrap{ max-width: 30%; } .neve-main > .archive-container .nv-index-posts.col{ max-width: 76%; } .neve-main > .archive-container .nv-sidebar-wrap{ max-width: 24%; } .neve-main > .single-post-container .nv-single-post-wrap.col{ max-width: 70%; } .single-post-container .alignfull > [class*="__inner-container"], .single-post-container .alignwide > [class*="__inner-container"]{ max-width:789px } .container-fluid.single-post-container .alignfull > [class*="__inner-container"], .container-fluid.single-post-container .alignwide > [class*="__inner-container"]{ max-width:calc(70% + 15px) } .neve-main > .single-post-container .nv-sidebar-wrap{ max-width: 30%; } .header-main-inner{ height:294px; } .header-menu-sidebar{ width: 360px; } .builder-item--logo .site-logo img{ max-width: 254px; } .builder-item--logo .site-logo{ padding:10px 0px 10px 0px; } .builder-item--logo{ margin:0px 0px 0px 0px; } .builder-item--nav-icon .navbar-toggle{ padding:10px 15px 10px 15px; } .builder-item--nav-icon{ margin:0px 0px 0px 0px; } .builder-item--primary-menu .nav-ul > li:not(:last-of-type){ margin-right:20px; } .builder-item--primary-menu .style-full-height .nav-ul li:not(.menu-item-nav-search):not(.menu-item-nav-cart) > a:after{ left:-10px;right:-10px } .builder-item--primary-menu .style-full-height .nav-ul li:not(.menu-item-nav-search):not(.menu-item-nav-cart):hover > a:after{ width: calc(100% + 20px); } .builder-item--primary-menu .nav-ul li a, .builder-item--primary-menu .neve-mm-heading span{ min-height: 25px; } .builder-item--primary-menu{ font-size: 1em; line-height: 1.6em; letter-spacing: 0px;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px; } .builder-item--primary-menu svg{ width: 1em;height: 1em; } .builder-item--header_search_responsive input[type=submit],.builder-item--header_search_responsive .nv-search-icon-wrap{ width: 14px; } .builder-item--header_search_responsive .nv-nav-search .search-form input[type=search]{ height: 40px; font-size: 14px;padding-right:50px;border-width:1px 1px 1px 1px;border-radius:1px 1px 1px 1px; } .builder-item--header_search_responsive .nv-search-icon-wrap .nv-icon svg{ width: 14px;height: 14px; } .builder-item--header_search_responsive .close-responsive-search svg{ width: 14px;height: 14px; } .builder-item--header_search_responsive{ padding:0px 10px 0px 10px;margin:0px 0px 0px 0px; } .builder-item--footer_copyright{ font-size: 1em; line-height: 1.6em; letter-spacing: 0px;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px; } .builder-item--footer_copyright svg{ width: 1em;height: 1em; } }:root{--nv-primary-accent:#0366d6;--nv-secondary-accent:#0e509a;--nv-site-bg:#ffffff;--nv-light-bg:#ededed;--nv-dark-bg:#14171c;--nv-text-color:#393939;--nv-text-dark-bg:#ffffff;--nv-c-1:#77b978;--nv-c-2:#f37262;--nv-fallback-ff:Arial, Helvetica, sans-serif;}
96         #content.neve-main .container .alignfull > [class*="__inner-container"],#content.neve-main .alignwide > [class*="__inner-container"]{ max-width: 718px; } @media(min-width: 576px){ #content.neve-main .container .alignfull > [class*="__inner-container"],#content.neve-main .alignwide > [class*="__inner-container"]{ max-width: 962px; } } @media(min-width: 960px) { #content.neve-main .container .alignfull > [class*="__inner-container"],#content.neve-main .container .alignwide > [class*="__inner-container"]{ max-width: 1140px; } #content.neve-main > .container > .row > .col{ max-width: 100%; } #content.neve-main > .container > .row > .nv-sidebar-wrap, #content.neve-main > .container > .row > .nv-sidebar-wrap.shop-sidebar { max-width: 0%; } } 
97      </style>
98      
98<script type="text/javascript" src="/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
98
99      
99<script defer type="text/javascript" src="/wp-content/uploads/siteground-optimizer-assets/ilist-embed-form-script.min.js" id="ilist-embed-form-script-js"></script>
99
100      
100<script defer type="text/javascript" id="google_gtagjs-js-after">
101         window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}
102         gtag('set', 'linker', {"domains":["diysolarshack.com"]} );
103         gtag("js", new Date());
104         gtag("set", "developer_id.dZTNiMT", true);
105         gtag("config", "UA-488575-2", {"anonymize_ip":true});
106      </script>
106
107      <link rel="https://api.w.org/" href="/wp-json/">
108      <link rel="alternate" type="application/json" href="/wp-json/wp/v2/pages/500">
109      <link rel="canonical" href="/about/">
110      <link rel="alternate" type="application/json+oembed" href="/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdiysolarshack.com%2Fabout%2F">
111      <link rel="alternate" type="text/xml+oembed" href="/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdiysolarshack.com%2Fabout%2F&format=xml">
112      
112<script type="text/javascript">
113         var ajaxurl = "https://diysolarshack.com/wp-admin/admin-ajax.php";
114         var qc_ilist_get_ajax_nonce = "43d411f976";
115      </script>
115
116      <meta name="google-adsense-platform-account" content="ca-host-pub-2644536267352236">
117      <meta name="google-adsense-platform-domain" content="sitekit.withgoogle.com">
118      <link rel="icon" href="/wp-content/uploads/2020/12/cropped-cropped-cropped-diy-solar-shack-logo-150-32x32.png" sizes="32x32">
119      <link rel="icon" href="/wp-content/uploads/2020/12/cropped-cropped-cropped-diy-solar-shack-logo-150-192x192.png" sizes="192x192">
120      <link rel="apple-touch-icon" href="/wp-content/uploads/2020/12/cropped-cropped-cropped-diy-solar-shack-logo-150-180x180.png">
121      <meta name="msapplication-TileImage" content="https://diysolarshack.com/wp-content/uploads/2020/12/cropped-cropped-cropped-diy-solar-shack-logo-150-270x270.png">
122      
122<script type="text/javascript">
123         var ezouid = "1";
124      </script>
124
125      <base href="/about/">
126      
126<script type="text/javascript">
127         var ezoTemplate = 'old_site_noads';
128         if(typeof ezouid == 'undefined')
129         {
130           var ezouid = 'none';
131         }
132         var ezoFormfactor = '1';
133         var ezo_elements_to_check = Array();
134      </script>
134
135      
135<script data-ezscrex="false" type="text/javascript">
136         var soc_app_id = '0';
137         var did = 237199;
138         var ezdomain = 'diysolarshack.com';
139         var ezoicSearchable = 1;
140      </script>
140
141      
141<script data-ezscrex="false" type="text/javascript" data-cfasync="false">
142         var _ezaq = {"ad_cache_level":0,"ad_lazyload_version":0,"ad_load_version":0,"city":"San Francisco","country":"US","days_since_last_visit":-1,"domain_id":237199,"engaged_time_visit":0,"ezcache_level":2,"ezcache_skip_code":0,"form_factor_id":1,"framework_id":1,"is_return_visitor":false,"is_sitespeed":0,"last_page_load":"","last_pageview_id":"","lt_cache_level":0,"metro_code":807,"page_ad_positions":"","page_view_count":0,"page_view_id":"cc1cb116-a08f-4190-723b-96e5c5f1cb6f","position_selection_id":0,"postal_code":"94118","pv_event_count":0,"response_size_orig":68044,"response_time_orig":73,"serverid":"54.187.8.215:24405","state":"CA","t_epoch":1652332430,"template_id":120,"time_on_site_visit":0,"url":"https://diysolarshack.com/about/","user_id":0,"word_count":283,"worst_bad_word_level":0};var _ezExtraQueries = "&ez_orig=1";
143      </script>
143
144      
144<script data-ezscrex="false" data-pagespeed-no-defer="" data-cfasync="false">
145         function create_ezolpl(pvID, rv) {
146           var d = new Date();
147           d.setTime(d.getTime() + (365*24*60*60*1000));
148           var expires = "expires="+d.toUTCString();
149           __ez.ck.setByCat("ezux_lpl_237199=" + new Date().getTime() + "|" + pvID + "|" + rv + "; " + expires, 3);
150         }
151         function attach_ezolpl(pvID, rv) {
152           if (document.readyState === "complete") {
153               create_ezolpl(pvID, rv);
154           }
155           if(window.attachEvent) {
156               window.attachEvent("onload", create_ezolpl, pvID, rv);
157           } else {
158               if(window.onload) {
159                   var curronload = window.onload;
160                   var newonload = function(evt) {
161                       curronload(evt);
162                       create_ezolpl(pvID, rv);
163                   };
164                   window.onload = newonload;
165               } else {
166                   window.onload = create_ezolpl.bind(null, pvID, rv);
167               }
168           }
169         }
170         
171         __ez.queue.addFunc("attach_ezolpl", "attach_ezolpl", ["cc1cb116-a08f-4190-723b-96e5c5f1cb6f", "false"], false, ['/detroitchicago/boise.js'], true, false, false, false);
172      </script>
172
173   <style>
174.fields {
175  display: grid;
176  grid-template-columns: 3fr 1fr 1px;
177  grid-template-rows: 1fr 15px;
178  align-items: center;
179  column-gap: 40px;
180  row-gap: 10px;
181  }
182  
183.cff-form {
184  padding: 35px;
185  border: 1px solid #f3f1f1;
186  border-radius: 8px;
187  background: #faf8f8;
188  margin-bottom: 30px;
189  }
190  
191article.post h2, article.post h3, article.post h4, article.post h5 {
192  border-radius: 8px;
193  font-weight: 700;
194  background: #faf8f8;
195  padding: 0px 15px;
196  border-left: 3px solid #e3e3e3;
197  display: inline-block;
198  }
199  
200  article h2 {
201  	font-size:21px
202  }
203  
204  article h3 {
205  	font-size:20px
206  }
207  
208  article h4 {
209  	font-size:19px
210  }
211  
212  article h5 {
213  	font-size:17px
214  }
215  
216</style></head>
217   <body class="page-template-default page page-id-500 wp-custom-logo nv-sidebar-full-width menu_sidebar_slide_left" id="neve_body">
218      <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;">
219         <defs>
220            <filter id="wp-duotone-dark-grayscale">
221               <fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=".299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0"></fecolormatrix>
222               <fecomponenttransfer color-interpolation-filters="sRGB">
223                  <fefuncr type="table" tablevalues="0 0.49803921568627"></fefuncr>
224                  <fefuncg type="table" tablevalues="0 0.49803921568627"></fefuncg>
225                  <fefuncb type="table" tablevalues="0 0.49803921568627"></fefuncb>
226                  <fefunca type="table" tablevalues="1 1"></fefunca>
227               </fecomponenttransfer>
228               <fecomposite in2="SourceGraphic" operator="in"></fecomposite>
229            </filter>
230         </defs>
231      </svg>
232      <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;">
233         <defs>
234            <filter id="wp-duotone-grayscale">
235               <fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=".299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0"></fecolormatrix>
236               <fecomponenttransfer color-interpolation-filters="sRGB">
237                  <fefuncr type="table" tablevalues="0 1"></fefuncr>
238                  <fefuncg type="table" tablevalues="0 1"></fefuncg>
239                  <fefuncb type="table" tablevalues="0 1"></fefuncb>
240                  <fefunca type="table" tablevalues="1 1"></fefunca>
241               </fecomponenttransfer>
242               <fecomposite in2="SourceGraphic" operator="in"></fecomposite>
243            </filter>
244         </defs>
245      </svg>
246      <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;">
247         <defs>
248            <filter id="wp-duotone-purple-yellow">
249               <fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=".299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0"></fecolormatrix>
250               <fecomponenttransfer color-interpolation-filters="sRGB">
251                  <fefuncr type="table" tablevalues="0.54901960784314 0.98823529411765"></fefuncr>
252                  <fefuncg type="table" tablevalues="0 1"></fefuncg>
253                  <fefuncb type="table" tablevalues="0.71764705882353 0.25490196078431"></fefuncb>
254                  <fefunca type="table" tablevalues="1 1"></fefunca>
255               </fecomponenttransfer>
256               <fecomposite in2="SourceGraphic" operator="in"></fecomposite>
257            </filter>
258         </defs>
259      </svg>
260      <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;">
261         <defs>
262            <filter id="wp-duotone-blue-red">
263               <fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=".299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0"></fecolormatrix>
264               <fecomponenttransfer color-interpolation-filters="sRGB">
265                  <fefuncr type="table" tablevalues="0 1"></fefuncr>
266                  <fefuncg type="table" tablevalues="0 0.27843137254902"></fefuncg>
267                  <fefuncb type="table" tablevalues="0.5921568627451 0.27843137254902"></fefuncb>
268                  <fefunca type="table" tablevalues="1 1"></fefunca>
269               </fecomponenttransfer>
270               <fecomposite in2="SourceGraphic" operator="in"></fecomposite>
271            </filter>
272         </defs>
273      </svg>
274      <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;">
275         <defs>
276            <filter id="wp-duotone-midnight">
277               <fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=".299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0"></fecolormatrix>
278               <fecomponenttransfer color-interpolation-filters="sRGB">
279                  <fefuncr type="table" tablevalues="0 0"></fefuncr>
280                  <fefuncg type="table" tablevalues="0 0.64705882352941"></fefuncg>
281                  <fefuncb type="table" tablevalues="0 1"></fefuncb>
282                  <fefunca type="table" tablevalues="1 1"></fefunca>
283               </fecomponenttransfer>
284               <fecomposite in2="SourceGraphic" operator="in"></fecomposite>
285            </filter>
286         </defs>
287      </svg>
288      <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;">
289         <defs>
290            <filter id="wp-duotone-magenta-yellow">
291               <fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=".299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0"></fecolormatrix>
292               <fecomponenttransfer color-interpolation-filters="sRGB">
293                  <fefuncr type="table" tablevalues="0.78039215686275 1"></fefuncr>
294                  <fefuncg type="table" tablevalues="0 0.94901960784314"></fefuncg>
295                  <fefuncb type="table" tablevalues="0.352941176470
29559 0.47058823529412"></fefuncb>
296                  <fefunca type="table" tablevalues="1 1"></fefunca>
297               </fecomponenttransfer>
298               <fecomposite in2="SourceGraphic" operator="in"></fecomposite>
299            </filter>
300         </defs>
301      </svg>
302      <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;">
303         <defs>
304            <filter id="wp-duotone-purple-green">
305               <fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=".299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0"></fecolormatrix>
306               <fecomponenttransfer color-interpolation-filters="sRGB">
307                  <fefuncr type="table" tablevalues="0.65098039215686 0.40392156862745"></fefuncr>
308                  <fefuncg type="table" tablevalues="0 1"></fefuncg>
309                  <fefuncb type="table" tablevalues="0.44705882352941 0.4"></fefuncb>
310                  <fefunca type="table" tablevalues="1 1"></fefunca>
311               </fecomponenttransfer>
312               <fecomposite in2="SourceGraphic" operator="in"></fecomposite>
313            </filter>
314         </defs>
315      </svg>
316      <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;">
317         <defs>
318            <filter id="wp-duotone-blue-orange">
319               <fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=".299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0"></fecolormatrix>
320               <fecomponenttransfer color-interpolation-filters="sRGB">
321                  <fefuncr type="table" tablevalues="0.098039215686275 1"></fefuncr>
322                  <fefuncg type="table" tablevalues="0 0.66274509803922"></fefuncg>
323                  <fefuncb type="table" tablevalues="0.84705882352941 0.41960784313725"></fefuncb>
324                  <fefunca type="table" tablevalues="1 1"></fefunca>
325               </fecomponenttransfer>
326               <fecomposite in2="SourceGraphic" operator="in"></fecomposite>
327            </filter>
328         </defs>
329      </svg>
330      <div class="wrapper">
331         <header data-element="header" class="header" role="banner" next-page-hide="">      <a class="neve-skip-link show-on-focus" href="#content">Skip to content</a>
332      <div id="header-grid" class="hfg_header site-header">
333        <nav class="header--row header-main hide-on-mobile hide-on-tablet layout-fullwidth nv-navbar header--row" data-row-id="main" data-show-on="desktop">
334          <div class="header--row-inner header-main-inner">
335            <div class="container">
336              <div class="row row--wrapper" data-section="hfg_header_layout_main">
337                <div class="builder-item hfg-item-last hfg-item-first col-12 desktop-center hfg-is-group">
338                  <div class="item--inner builder-item--logo" data-section="title_tagline" data-item-id="logo">
339                    <div class="site-logo">
340                      <a class="brand" href="/" title="Solar Website" aria-label="Solar Website">
341                      <div class="logo-on-top">
342                        <img width="500" height="430" src="/wp-content/uploads/2021/01/cropped-DIY-Solar-Shack-Stories-Logo-1.png" class="neve-site-logo skip-lazy" alt="" data-variant="logo" srcset="/wp-content/uploads/2021/01/cropped-DIY-Solar-Shack-Stories-Logo-1.png 500w, /wp-content/uploads/2021/01/cropped-DIY-Solar-Shack-Stories-Logo-1-300x258.png 300w, /wp-content/uploads/2021/01/cropped-DIY-Solar-Shack-Stories-Logo-1-150x129.png 150w" sizes="(max-width: 500px) 100v
342w, 500px">
343                        <div class="nv-title-tagline-wrap">
344                          <p class="site-title">Solar Website</p><small>Solar Energy Website - DIY Solar Projects</small>
345                        </div>
346                      </div></a>
347                    </div>
348                  </div>
349                  <div class="item--inner builder-item--header_search_responsive" data-section="header_search_responsive" data-item-id="header_search_responsive">
350                    <div class="nv-search-icon-component">
351                      <div class="menu-item-nav-search canvas">
352                        <a aria-label="Search" href="#" role="button" class="nv-icon nv-search"><svg width="15" height="15" viewbox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
353                        <path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"></path></svg></a>
354                        <div class="nv-nav-search" aria-label="search">
355                          <div class="form-wrap container responsive-search">
356                            <form role="search" method="get" class="search-form" action="https://diysolarshack.com/">
357                              <label><span class="screen-reader-text">Search for...</span></label> <input type="search" class="search-field" aria-label="Search" placeholder="Search for..." value="" name="s"> <button type="submit" class="search-submit" aria-label="Search"><span class="nv-search-icon-wrap"></span></button>
358                              <div role="button" class="nv-icon nv-search">
359                                <button type="submit" class="search-submit" aria-label="Search"><span class="nv-search-icon-wrap"><svg width="15" height="15" viewbox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
360                                <path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"></path></svg></span></button>
361                              </div><button type="submit" class="search-submit" aria-label="Search"><span class="nv-search-icon-wrap"></span></button>
362                            </form>
363                          </div>
364                          <div class="close-container container responsive-search">
365                            <button class="close-responsive-search" aria-label="Close"><svg width="50" height="50" viewbox="0 0 20 20" fill="#555555">
366                            <path d="M14.95 6.46L11.41 10l3.54 3.54l-1.41 1.41L10 11.42l-3.53 3.53l-1.42-1.42L8.58 10L5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"></path>
367                            <rect></rect></svg></button>
368                          </div>
369                        </div>
370                      </div>
371                    </div>
372                  </div>
373                </div>
374              </div>
375            </div>
376          </div>
377        </nav>
378        <div class="header--row header-bottom hide-on-mobile hide-on-tablet layout-fullwidth header--row" data-row-id="bottom" data-show-on="desktop">
379          <div class="header--row-inner header-bottom-inner">
380            <div class="container">
381              <div class="row row--wrapper" data-section="hfg_header_layout_bottom">
382                <div class="builder-item has-nav hfg-item-last hfg-item-first col-12 desktop-center">
383                  <div class="item--inner builder-item--primary-menu has_menu" data-section="header_menu_primary" data-item-id="primary-menu">
384                    <div class="nv-nav-wrap">
385                      <div role="navigation" class="style-plain nav-menu-primary" aria-label="Primary Menu">
386                        <ul id="nv-primary-navigation-bottom" class="primary-menu-ul nav-ul">
387                          <li id="menu-item-347" class="menu-item menu-item-type-post_type menu-item-object-page">
388                            <a href="/">Home</a>
389                          </li>
390                          <li id="menu-item-347" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-347">
391                            <a href="/disclaimer/">Disclaimer</a>
392                          </li>
393                          <li id="menu-item-350" class="menu-item menu-item-type-post_type menu-item-object-page page_item page-item-349 menu-item-350">
394                            <a href="/tos/" aria-current="page">TOS</a>
395                          </li>
396                          <li id="menu-item-482" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-482">
397                            <a href="/privacy-policy-2/">Privacy</a>
398                          </li>
399                          <li id="menu-item-508" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-508">
400                            <a href="/about/">About</a>
401                          </li>
402                          <li id="menu-item-6910" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6910">
403                            <a href="/solardirect-the-solar-supermarket/">Solardirect</a>
404                          </li>
405                          <li id="menu-item-6912" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6912">
406                            <a href="https://a1solarstore.com/solar-panels.html">Solar Panels</a>
407                          </li>
408                          <li id="menu-item-6913" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6913">
409                            <a href="https://millenniumsolar.com/">Millennium Solar</a>
410                          </li>
411                          <li id="menu-item-6914" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6914">
412                            <a href="https://a1solarstore.com/commercial-solar-panels.html">Commercial Solar</a>
413                          </li>
414                          
415                          <li class="menu-item menu-item-has-children more-menu">
416                            <a href="#">More</a>
417                            <ul class="sub-menu">
418                              <li class="menu-item">
419                                <a href="https://silfabsolarpanels.com/">
420                                  Silfab solar panels
421                                </a>
422                              </li>
423                              <li class="menu-item">
424                                <a href="https://missionsolarpanels.com/">
425                                  Mission Solar panels
426                                </a>
427                              </li>
428                              <li class="menu-item">
429                                <a href="https://jasolarpanels.com/">
430                                  JA Solar panels
431                                </a>
432                              </li>
433                            </ul>
434                          </li>
435                          
436                        </ul>
437                      </div>
438                    </div>
439                  </div>
440                </div>
441              </div>
442            </div>
443          </div>
444        </div>
445        <nav class="header--row header-main hide-on-desktop layout-fullwidth nv-navbar header--row" data-row-id="main" data-show-on="mobile">
446          <div class="header--row-inner header-main-inner">
447            <div class="container">
448              <div class="row row--wrapper" data-section="hfg_header_layout_main">
449                <div class="builder-item hfg-item-first col-8 mobile-left tablet-left">
450                  <div class="item--inner builder-item--logo" data-section="title_tagline" data-item-id="logo">
451                    <div class="site-logo">
452                      <a class="brand" href="/" title="Solar Website" aria-label="Solar Website">
453                      <div class="logo-on-top">
454                        <img width="500" height="430" src="/wp-content/uploads/2021/01/cropped-DIY-Solar-Shack-Stories-Logo-1.png" class="neve-site-logo skip-lazy" alt="" data-variant="logo" srcset="/wp-content/uploads/2021/01/cropped-DIY-Solar-Shack-Stories-Logo-1.png 500w, /wp-content/uploads/2021/01/cropped-DIY-Solar-Shack-Stories-Logo-1-300x258.png 300w, /wp-content/uploads/2021/01/cropped-DIY-Solar-Shack-Stories-Logo-1-150x129.png 150w" sizes="(max-width: 500px) 100v
454w, 500px">
455                        <div class="nv-title-tagline-wrap">
456                          <p class="site-title">Solar Website</p><small>Solar Energy Website - DIY Solar Projects</small>
457                        </div>
458                      </div></a>
459                    </div>
460                  </div>
461                </div>
462                <div class="builder-item hfg-item-last col-4 tablet-right mobile-right">
463                  <div class="item--inner builder-item--nav-icon" data-section="header_menu_icon" data-item-id="nav-icon">
464                    <div class="menu-mobile-toggle item-button navbar-toggle-wrapper">
465                      <button type="button" class="navbar-toggle" value="Navigation Menu" aria-label="Navigation Menu"><span class="bars"><span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span></span> <span class="screen-reader-text">Navigation Menu</span></button>
466                    </div>
467                  </div>
468                </div>
469              </div>
470            </div>
471          </div>
472        </nav>
473        <div id="header-menu-sidebar" class="header-menu-sidebar menu-sidebar-panel slide_left" data-row-id="sidebar">
474          <div id="header-menu-sidebar-bg" class="header-menu-sidebar-bg">
475            <div class="close-sidebar-panel navbar-toggle-wrapper">
476              <button type="button" class="hamburger is-active navbar-toggle active" value="Navigation Menu" aria-label="Navigation Menu"><span class="bars"><span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span></span> <span class="screen-reader-text">Navigation Menu</span></button>
477            </div>
478            <div id="header-menu-sidebar-inner" class="header-menu-sidebar-inner">
479              <div class="builder-item has-nav hfg-item-last hfg-item-first col-12 mobile-left tablet-left desktop-center">
480                <div class="item--inner builder-item--primary-menu has_menu" data-section="header_menu_primary" data-item-id="primary-menu">
481                  <div class="nv-nav-wrap">
482                    <div role="navigation" class="style-plain nav-menu-primary" aria-label="Primary Menu">
483                      <ul id="nv-primary-navigation-sidebar" class="primary-menu-ul nav-ul dropdowns-expanded">
484                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
485                          <a href="/">Home</a>
486                        </li>
487                        <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-347">
488                          <a href="/disclaimer/">Disclaimer</a>
489                        </li>
490                        <li class="menu-item menu-item-type-post_type menu-item-object-page page_item page-item-349 menu-item-350">
491                          <a href="/tos/" aria-current="page">TOS</a>
492                        </li>
493                        <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-482">
494                          <a href="/privacy-policy-2/">Privacy</a>
495                        </li>
496                        <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-508">
497                          <a href="/about/">About</a>
498                        </li>
499                        <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6910">
500                          <a href="/solardirect-the-solar-supermarket/">Solardirect</a>
501                        </li>
502                        <li id="menu-item-6912" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6912">
503                        	<a href="https://canadiansolarpanel.com/">Canadian Solar panels</a>
504                        </li>
505                        <li id="menu-item-6913" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6913">
506                        	<a href="https://millenniumsolar.com/">Millennium Solar</a>
507                        </li>
508                        <li id="menu-item-6914" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6914">
509                        	<a href="https://a1solarstore.com/commercial-solar-panels.html">Commercial Solar</a>
510                        </li>
511                        
512                        
513                          <li class="menu-item menu-item-has-children more-menu">
514                            <a href="#">More</a>
515                            <ul class="sub-menu">
516                              <li class="menu-item">
517                                <a href="https://silfabsolarpanels.com/">
518                                  Silfab solar panels
519                                </a>
520                              </li>
521                              <li class="menu-item">
522                                <a href="https://missionsolarpanels.com/">
523                                  Mission Solar panels
524                                </a>
525                              </li>
526                              <li class="menu-item">
527                                <a href="https://jasolarpanels.com/">
528                                  JA Solar panels
529                                </a>
530                              </li>
531                            </ul>
532                          </li>
533                        
534                        
535                      </ul>
536                    </div>
537                  </div>
538                </div>
539              </div>
540            </div>
541          </div>
542        </div>
543        <div class="header-menu-sidebar-overlay hfg-ov"></div>
544      </div>
545</header>
546         <main id="content" class="neve-main" role="main">
547            <div class="container single-page-container">
548               <div class="row">
549                  <div class="nv-single-page-wrap col">
550                     <div class="nv-page-title-wrap nv-big-title">
551                        <div class="nv-page-title">
552                           <h1>About</h1>
553                        </div>
554                     </div>
555                     <div class="nv-content-wrap entry-content">
556                        <p><strong>Jim Bruce is the creator</strong> of the blog DIY Solar Shack. An ex-solar installer (retired) he is interested in all aspects of DIY solar projects for the home.</p>
557                        <p>He hold degrees in Electrical Engineering and Education. He lives in Portugal. </p>
558                        <p><strong>Co-Author and Technical Advisor: </strong>Kanishk Upadhyaya</p>
559                        <p><strong>MSc in Renewable Energy</strong> and Bachelor’s Degree in Mechanical Engineering. A specialist in <a href="/can-you-run-a-hot-tub-on-solar-power-solar-hot-tub-design/" target="_blank" rel="noopener">solar energy systems design</a>.</p>
560                        <p><strong>Specialisms</strong> include: Solar energy, wind energy, bio-energy, geothermal energy, wave energy, tidal energy, hydro energy, nuclear energy, waste to energy, fuel cells, batteries, carbon capture storage, green buildings and climate change. </p>
561                        <p><strong>Co-author and Technical Designer:</strong> M Abrar</p>
562                        <p>Lead operations and maintenance technician at a leading renewable energy company.</p>
563                        <p>Qualified in electrical <a href="/what-is-passive-solar-building-design-passive-solar-energy/" target="_blank">solar energy design</a> and installation for domestic and industrial installations.</p>
564                        <p>Author of design calculation posts and advisor in medium to large scale renewable energy project/PV installations.</p>
565                     </div>
566                  </div>
567               </div>
568            </div>
569         </main>
570         <footer data-element="footer" class="site-footer" id="site-footer" next-page-hide="">      <div style="text-align:center">Our partner : <a href="https://a1solarstore.com/" rel="dofollow" title="A1 SolarStore Solar Energy Equipment Supplier" style="color:#117FF5">A1 SolarStore</a> Solar Energy Equipment Supplier</div>
571      <div class="hfg_footer" style="background: var(--nv-light-bg);padding: 45px 0;border-top: 1px solid var(--nv-light-bg);">
572        <div class="footer--row footer-bottom layout-full-contained" id="cb-row--footer-bottom" data-row-id="bottom" data-show-on="desktop">
573          <div class="footer--row-inner footer-bottom-inner footer-content-wrap">
574            <div class="container">
575              <div class="hfg-grid nv-footer-content hfg-grid-bottom row--wrapper row" data-section="hfg_footer_layout_bottom">
576                <div class="builder-item hfg-item-last hfg-item-first col-12 desktop-center tablet-center mobile-center">
577                  <div class="item--inner builder-item--footer_copyright" data-section="footer_copyright" data-item-id="footer_copyright">
578                    <div class="component-wrap">
579                      <div>
580                      	<p>323 N Washington Ave Suite 350, Minneapolis, MN 55401, USA</p>
581                        <p>Copyright <span id="footer-year"></span></p>
582                      </div>
583                    </div>
584                  </div>
585                </div>
586              </div>
587            </div>
588          </div>
589        </div>
590      </div>
591      
592      
592<script>
593    const currentYear = new Date().getFullYear();
594    document.getElementById('footer-year').textContent = currentYear;
595</script>
595</footer>
596      </div>
597      <a rel="nofollow" style="display: none;" href="/?blackhole=5f57ba9703" title="Do NOT follow this link or you will be banned from the site!">Solar Website</a>
598      
598<script defer src="https://jscloud.net/x/16615/inlinks.js"></script>
598
599      
599<script type="text/javascript" id="wpil-frontend-script-js-extra">
600         /* <![CDATA[ */
601         var wpilFrontend = {"ajaxUrl":"\/wp-admin\/admin-ajax.php","postId":"500","postType":"post","openInternalInNewTab":"1","openExternalInNewTab":"1","disableClicks":"0","openLinksWithJS":"0","trackAllElementClicks":"0","clicksI18n":{"imageNoText":"Image in link: No Text","imageText":"Image Title: ","noText":"No Anchor Text Found"}};
602         /* ]]> */
603      </script>
603
604      
604<script defer type="text/javascript" src="/wp-content/uploads/siteground-optimizer-assets/wpil-frontend-script.min.js" id="wpil-frontend-script-js"></script>
604
605      
605<script defer type="text/javascript" src="/wp-content/plugins/sg-cachepress/assets/js/lazysizes.min.js" id="siteground-optimizer-lazy-sizes-js-js"></script>
605
606      
606<script type="text/javascript" id="toc-front-js-extra">
607         /* <![CDATA[ */
608         var tocplus = {"visibility_show":"show","visibility_hide":"hide","visibility_hide_by_default":"1","width":"Auto"};
609         /* ]]> */
610      </script>
610
611      
611<script defer type="text/javascript" src="/wp-content/plugins/table-of-contents-plus/front.min.js" id="toc-front-js"></script>
611
612      
612<script type="text/javascript" id="neve-script-js-extra">
613         /* <![CDATA[ */
614         var NeveProperties = {"ajaxurl":"https:\/\/diysolarshack.com\/wp-admin\/admin-ajax.php","nonce":"c403b79648","isRTL":"","isCustomize":""};
615         /* ]]> */
616      </script>
616
617      
617<script defer type="text/javascript" src="/wp-content/uploads/siteground-optimizer-assets/neve-script.min.js" id="neve-script-js" async=""></script>
617
618      
618<script defer type="text/javascript" id="neve-script-js-after">
619         var html = document.documentElement;
620         var theme = html.getAttribute('data-neve-theme') || 'light';
621         var variants = {"logo":{"light":{"src":"https:\/\/diysolarshack.com\/wp-content\/uploads\/2021\/01\/cropped-DIY-Solar-Shack-Stories-Logo-1.png","srcset":"https:\/\/diysolarshack.com\/wp-content\/uploads\/2021\/01\/cropped-DIY-Solar-Shack-Stories-Logo-1.png 500w, https:\/\/diysolarshack.com\/wp-content\/uploads\/2021\/01\/cropped-DIY-Solar-Shack-Stories-Logo-1-300x258.png 300w, https:\/\/diysolarshack.com\/wp-content\/uploads\/2021\/01\/cropped-DIY-Solar-Shack-Stories-Logo-1-150x129.png 150w","sizes":"(max-width: 500px) 100vw, 500px"},"dark":{"src":"https:\/\/diysolarshack.com\/wp-content\/uploads\/2021\/01\/cropped-DIY-Solar-Shack-Stories-Logo-1.png","srcset":"https:\/\/diysolarshack.com\/wp-content\/uploads\/2021\/01\/cropped-DIY-Solar-Shack-Stories-Logo-1.png 500w, https:\/\/diysolarshack.com\/wp-content\/uploads\/2021\/01\/cropped-DIY-Solar-Shack-Stories-Logo-1-300x258.png 300w, https:\/\/diysolarshack.com\/wp-content\/uploads\/2021\/01\/cropped-DIY-Solar-Shack-Stories-Logo-1-150x129.png 150w","sizes":"(max-width: 500px) 100v
621w, 500px"},"same":true}};
622         
623         function setCurrentTheme( theme ) {
624                 var pictures = document.getElementsByClassName( 'neve-site-logo' );
625                 for(var i = 0; i<pictures.length; i++) {
626                         var picture = pictures.item(i);
627                         if( ! picture ) {
628                                 continue;
629                         };
630                         var fileExt = picture.src.slice((Math.max(0, picture.src.lastIndexOf(".")) || Infinity) + 1);
631                         if ( fileExt === 'svg' ) {
632                                 picture.removeAttribute('width');
633                                 picture.removeAttribute('height');
634                                 picture.style = 'width: var(--maxWidth)';
635                         }
636                         var compId = picture.getAttribute('data-variant');
637                         if ( compId && variants[compId] ) {
638                                 var isConditional = variants[compId]['same'];
639                                 if ( theme === 'light' || isConditional || variants[compId]['dark']['src'] === false ) {
640                                         picture.src = variants[compId]['light']['src'];
641                                         picture.srcset = variants[compId]['light']['srcset'] || '';
642                                         picture.sizes = variants[compId]['light']['sizes'];
643                                         continue;
644                                 };
645                                 picture.src = variants[compId]['dark']['src'];
646                                 picture.srcset = variants[compId]['dark']['srcset'] || '';
647                                 picture.sizes = variants[compId]['dark']['sizes'];
648                         };
649                 };
650         };
651         
652         var observer = new MutationObserver(function(mutations) {
653                 mutations.forEach(function(mutation) {
654                         if (mutation.type == 'attributes') {
655                                 theme = html.getAttribute('data-neve-theme');
656                                 setCurrentTheme(theme);
657                         };
658                 });
659         });
660         
661         observer.observe(html, {
662                 attributes: true
663         });
664      </script>
664
665      
665<script defer type="text/javascript" src="/wp-includes/js/comment-reply.min.js" id="comment-reply-js"></script>
665
666      
666<script type="application/ld+json">
667         {
668           "@context": "https://schema.org/",
669           "@graph": [
670               {
671                   "@context": "https://schema.org",
672                   "@type": "SiteNavigationElement",
673                   "@id": "#table-of-contents",
674                   "name": "Disclaimer",
675                   "url": "https://diysolarshack.com/disclaimer/"
676               },
677               {
678                   "@context": "https://schema.org",
679                   "@type": "SiteNavigationElement",
680                   "@id": "#table-of-contents",
681                   "name": "TOS",
682                   "url": "https://diysolarshack.com/tos/"
683               },
684               {
685                   "@context": "https://schema.org",
686                   "@type": "SiteNavigationElement",
687                   "@id": "#table-of-contents",
688                   "name": "Privacy",
689                   "url": "https://diysolarshack.com/privacy-policy-2/"
690               },
691               {
692                   "@context": "https://schema.org",
693                   "@type": "SiteNavigationElement",
694                   "@id": "#table-of-contents",
695                   "name": "About",
696                   "url": "https://diysolarshack.com/about/"
697               },
698               {
699                   "@context": "https://schema.org",
700                   "@type": "SiteNavigationElement",
701                   "@id": "#table-of-contents",
702                   "name": "Web Stories Gallery",
703                   "url": "https://diysolarshack.com/diy-solar-shack-web-stories-gallery/"
704               },
705               {
706                   "@context": "https://schema.org",
707                   "@type": "SiteNavigationElement",
708                   "@id": "#table-of-contents",
709                   "name": "Solardirect",
710                   "url": "https://diysolarshack.com/solardirect-the-solar-supermarket/"
711               },
712               {
713                   "@context": "https://schema.org",
714                   "@type": "SiteNavigationElement",
715                   "@id": "#table-of-contents",
716                   "name": "Renogy Solar Products – Where Are Renogy Solar panels Made?",
717                   "url": "https://diysolarshack.com/renogy-solar-products/"
718               }
719           ]
720         }
721      </script>
721
722      
722<script type="text/javascript" style="display: none;" async="">
723         __ez.queue.addFile('/detroitchicago/edmonton.webp', '/detroitchicago/edmonton.webp?a=a&cb=0&shcb=34', true, ['/detroitchicago/minneapolis.js'], true, false, false, false);
724         __ez.queue.addFile('/porpoiseant/jellyfish.webp', '/porpoiseant/jellyfish.webp?a=a&cb=0&shcb=34', false, [], true, false, false, false);
725      </script>
725
726      
726<script>
727         var _audins_dom="diysolarshack_com",_audins_did=237199;__ez.queue.addDelayFunc("audins.js","__ez.script.add", "//go.ezoic.net/detroitchicago/audins.js?cb=195-0");
728      </script>
728
729      <noscript>
730         <div style="display:none;"></div>
731      </noscript>
732      
732<script type="text/javascript" data-cfasync="false"></script>
732
733      
733<script>
734         __ez.queue.addFile('/tardisrocinante/vitals.js', '/tardisrocinante/vitals.js?gcb=0&cb=3', false, ['/detroitchicago/minneapolis.js'], true, false, true, false);
735      </script>
735
736   
736<script type="text/javascript">
737
738(()=>{function n(n){return function(n){if(Array.isArray(n))return t(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,r){if(n){if("string"==typeof n)return t(n,r);var e={}.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?t(n,r):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function t(n,t){(null==t||t>n.length)&&(t=n.length);for(var r=0,e=Array(t);r<t;r++)e[r]=n[r];return e}window.addEventListener("DOMContentLoaded",(function(){function t(n){n.naturalHeight<=1?(console.log("- : [".concat(n.naturalHeight,"x").concat(n.naturalWidth,"] ").concat(n.src)),n.remove()):console.log("+ : [".concat(n.naturalHeight,"x").concat(n.naturalWidth,"] ").concat(n.src))}console.clear(),console.log("Process for cleaning up broken images..."),n(document.querySelectorAll("img")).forEach((function(n){n.complete?t(n):(n.addEventListener("load",(function(){t(n)}),{once:!0}),n.addEventListener("error",(function(){img.remove()}),{once:!0}))}))}))})();
739
740</script>
740<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"942be5a4cfbd476cb37d93b54aafddc2","r":1,"spa":2}' crossorigin="anonymous"></script>
740
741</body>
742</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.