Why Legos Have Stood the Test of Time


kids playing with Legokids playing with Lego
A science-themed New Year party for children titled 'Wow! How?' at the Russian Academy of Sciences featured Lego bricks. Anton Novoderezhkin/TASS via Getty Images

For anyone coming of age in the last 60 years, Lego has been a constant companion. The tiny plastic bricks that fit snugly together have provided immense pleasure for generations of budding engineers, scientists, architects, carpenters, bricklayers — and yes — writers. Lego, which celebrates its 60th anniversary on Jan. 28, 2018, (from the patent date of the Lego brick) has sold more 485 billion pieces of the interlocking pieces, and today it's one of the most iconic brands on the planet.

Still, building a Batmobile, treehouse, bridge, a police mobile command center or the Eiffel Tower out of Lego bricks is more than just child's play. Research has shown that building with Lego bricks allows children to hone their motor, spatial and language skills. It helps children on the autism spectrum as well as wannabe scientists solve problems and manipulate 3-D information in their heads. When children play with Lego bricks, they analyze what parts make up the whole and how each block relates to one another.

Not bad for a humble toy that had its beginnings in a non-descript hamlet named Billund in southern Denmark. That's where a carpenter named Ole Christiansen, who left high school when he was only 14, lived. When the Great Depression hit in the 1930s, Christiansen's shop suffered as people built fewer homes and less furniture. The one thing people did seem to scrape up enough money for, Christiansen noticed, were toys.

Lego's Beginnings

By 1936, Christiansen became a toymaker, producing more than 40 different toys carved from wood. Christiansen even created his own brand name, leg godt, a Danish term that in English translated into "play well." The name later morphed into Lego. By 1949, Christiansen's company began producing tiny plastic building bricks that children seemed to love. Nine years later in 1958, the Lego brick took shape and was awarded a patent. Each brick had interlocking tubes that offered children unlimited ability to build anything their imagination could conjure.

That's exactly what Godfred Christiansen, Ole's son, had envisioned for the company. In 1963, according to writer Lee Slater in his book, "LEGO Manufacturers," Godfred challenged the company to incorporate 10 characteristics in each Lego product, including unlimited play potential, and the ability to help children become more creative and imaginative. It was a recipe that worked. Through the 1960s and 1970s, the Lego line rapidly expanded. In 1977, for example, the company launched its Expert Builder Series, models with motors and gears. A year later, the company introduced its first yellow-faced Lego men.

Lego also kept pace with technology. Through the 1980s, Lego sets began to include electric lights and sound-making devices. The company also branched out into the hospitality field, opening LEGOLAND theme parks around the world. But by 2003, Lego, which was still based in Billund, was on the verge of bankruptcy as the firm dealt with changing play habits. Kids, it seemed, were more interested in playing video games and logging on to the internet than they were playing with Lego bricks. The sales of new products, such as Star Wars and Harry Potter sets, waxed and waned depending on when the movies were released.

Lego Future Lab

The company's new management had to do something. Like the children who played with the bricks, executives used their imagination and within 10 years Lego was once again flourishing. Much of its success was due to its Future Lab. The lab was staffed by 50 or so researchers, scientists and designers. Their jobs were to invent new play experiences for children. To that end the company partnered with universities and others in the hopes of finding out what kids wanted. They researched popular movies, fashion trends, magazines and websites. The research paid off. In 2017, according to Forbes magazine, Lego was worth $7.9 billion, and ranked as the 76th most valuable brand in the world.

Unlike other toys, Lego's products work together as one system of play, whether it's Lego Duplo, for preschool children, the highly advanced Lego Technic or classic Lego.

"From the youngest builders to the savviest teen and adults, we have a Lego solution for every builder of any age, building skill and interest for any play occasion," Amanda Madore, senior manager, brand relations at Lego Systems, Inc., says in an email. "We are focused on what the brand means to children — both physically and digitally — and we continue to serve their needs, so we believe that our business potential is as limitless as our play material."

Lego and Cognitive Play

Although Lego bricks have always been fun to play with, research has shown they can be central to a child's education and cognitive acuity. Specifically, Lego bricks are an important tool that can help children on the autism spectrum. Dr. Dan Legoff, a clinical neuropsychologist in Philadelphia, has incorporated so-called Lego-based therapy into his research. He has found that children on the spectrum become more social and communicative while playing with the bricks in group settings.

Part of the reason is that Lego is a highly-structured toy that requires children to divide labor, communicate, set rules, make decisions and interact with others. Researchers have also learned to use Lego robots to help health professionals measure the cognitive ability of children with severe disabilities who cannot be measured through traditional testing.

In addition, there's a good chance the scientists of tomorrow are currently playing Lego bricks. Amy Shelton, a cognitive psychologist at Johns Hopkins Center for Talented Youth, has studied the impact playing with building blocks including Lego, has on young children. She says children who play with theses toy sharpen their spatial reasoning abilities.

"These skills not only have a relationship to academics, but to the fields you might gravitate to, and where you're going," she said in a statement. "If you want to build future STEM enthusiasts, you need to start with fundamental skills and they need to come early. Something as simple as making sure kids have exposure to block play would set them up for a future where they can build the right kinds of skills for whatever field they want to go into and they won't be restricted because of their lack of early experience."



string(80893) "<div class="w-100 text-center p-4 padding-top1">ads disabled</div>'); }); } </script><script> /*! hsw-lite-frontend 2019-10-09 */ function prepareConfigForAC(a){function b(a){return a.replace(/[^\w\-\.\+]/gi,"")}var c=[{divId:"ad-div-bannerMiddle1",posName:"/bannermiddle1",code:a.slotName+"/bannermiddle1",sizes:[[728,90],[970,90],[970,250]],lazy:!1,prebidConfig:{posName:"bannermiddle1",mobile:!1,mediaTypes:{banner:{sizes:[[728,90],[970,90],[970,250]]}},bids:[{bidder:"openx",params:{unit:"540172482",delDomain:"hsw-d.openx.net"}},{bidder:"aol",params:{placement:"4865783",alias:"bannermiddle1",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"13636641",section:a.adUnit}},{bidder:"sovrn",params:{tagid:"574417"}},{bidder:"ix",params:{siteId:"233507",size:[728,90]}},{bidder:"ix",params:{siteId:"233507",size:[970,90]}},{bidder:"ix",params:{siteId:"233507",size:[970,250]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"1002544",sizes:[2]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_midart_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-bannerMiddle2",posName:"/bannermiddle2",code:a.slotName+"/bannermiddle2",sizes:[[728,90],[970,90],[970,250]],lazy:!1,prebidConfig:{posName:"bannermiddle2",mobile:!1,mediaTypes:{banner:{sizes:[[728,90],[970,90],[970,250]]}},bids:[{bidder:"openx",params:{unit:"540172483",delDomain:"hsw-d.openx.net"}},{bidder:"aol",params:{placement:"4865782",alias:"bannermiddle2",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"13636642",section:a.adUnit}},{bidder:"sovrn",params:{tagid:"574418"}},{bidder:"ix",params:{siteId:"233509",size:[728,90]}},{bidder:"ix",params:{siteId:"233509",size:[970,90]}},{bidder:"ix",params:{siteId:"233509",size:[970,250]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"1002546",sizes:[2]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_midart_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-mobInline1",posName:"/mobinline1",code:a.slotName+"/mobinline1",sizes:[[300,250]],lazy:!0,prebidConfig:{posName:"mobinline1",mobile:!0,mediaTypes:{banner:{sizes:[[300,250]]}},bids:[{bidder:"aol",params:{placement:"4882966",alias:"mobinline1",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"13761816",section:a.adUnit}},{bidder:"openx",params:{unit:"540216368",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"577104"}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"1021370"}},{bidder:"ix",params:{siteId:"290058",size:[300,250]}},{bidder:"audienceNetwork",params:{placementId:"899104866837181_1855400391207619"}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_m_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-mobInline2",posName:"/mobinline2",code:a.slotName+"/mobinline2",sizes:[[300,250]],lazy:!0,prebidConfig:{posName:"mobinline2",mobile:!0,mediaTypes:{banner:{sizes:[[300,250]]}},bids:[{bidder:"aol",params:{placement:"4882965",alias:"mobinline2",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"13761823",section:a.adUnit}},{bidder:"openx",params:{unit:"540216436",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"577105"}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"1021372"}},{bidder:"ix",params:{siteId:"290059",size:[300,250]}},{bidder:"audienceNetwork",params:{placementId:"899104866837181_1855401471207511"}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_m_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-bannerInline1",posName:"/bannerinline1",code:a.slotName+"/bannerinline1",sizes:[[300,250]],lazy:!0,prebidConfig:{posName:"bannerinline1",mobile:!1,mediaTypes:{banner:{sizes:[[300,250]]}},bids:[{bidder:"aol",params:{placement:"4882061",alias:"bannerinline1",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"13745312",section:a.adUnit}},{bidder:"openx",params:{unit:"540214023",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"576926"}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"1020312"}},{bidder:"ix",params:{siteId:"290051",size:[300,250]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_midart_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-bannerInline2",posName:"/bannerinline2",code:a.slotName+"/bannerinline2",sizes:[[300,250]],lazy:!0,prebidConfig:{posName:"bannerinline2",mobile:!1,mediaTypes:{banner:{sizes:[[300,250]]}},bids:[{bidder:"aol",params:{placement:"4882063",alias:"bannerinline2",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"13745313",section:a.adUnit}},{bidder:"openx",params:{unit:"540214024",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"576927"}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"1020314"}},{bidder:"ix",params:{siteId:"290053",size:[300,250]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_midart_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-rectangleRailSticky",posName:"/rectanglerailsticky",code:a.slotName+"/rectanglerailsticky",sizes:[[160,600],[300,600],[300,250]],lazy:!1,prebidConfig:{posName:"rectanglerailsticky",mobile:!1,mediaTypes:{banner:{sizes:[[160,600],[300,600],[300,250]]}},bids:[{bidder:"aol",params:{placement:"4882062",alias:"rectanglerailsticky",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"13745314",section:a.adUnit}},{bidder:"openx",params:{unit:"540214025",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"576928"}},{bidder:"ix",params:{siteId:"290055",size:[160,600]}},{bidder:"ix",params:{siteId:"290055",size:[300,600]}},{bidder:"ix",params:{siteId:"290055",size:[300,250]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_rrail_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-bannerTop",posName:"/bannertop",code:a.slotName+"/bannertop",sizes:[[728,90],[970,90],[970,250]],lazy:!1,prebidConfig:{posName:"bannertop",mobile:!1,mediaTypes:{banner:{sizes:[[728,90],[970,90],[970,250]]}},bids:[{bidder:"openx",params:{unit:"538304556",delDomain:"hsw-d.openx.net"}},{bidder:"aol",params:{placement:"4122151",alias:"bannertop",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"6748140",section:a.adUnit}},{bidder:"sovrn",params:{tagid:"338090"}},{bidder:"ix",params:{siteId:"182249",size:[728,90]}},{bidder:"ix",params:{siteId:"182249",size:[970,90]}},{bidder:"ix",params:{siteId:"182249",size:[970,250]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"428740",sizes:[2]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_leaderboard_header"}}]},amazonConfig:{}},{divId:"ad-div-rectangleRailTop",posName:"/rectanglerailtop",code:a.slotName+"/rectanglerailtop",sizes:[[300,600],[300,250],[160,600]],lazy:!1,prebidConfig:{posName:"rectanglerailtop",mobile:!1,mediaTypes:{banner:{sizes:[[300,600],[300,250],[160,600]]}},bids:[{bidder:"aol",params:{placement:"4122152",alias:"rectanglerailtop",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"6748582",section:a.adUnit}},{bidder:"openx",params:{unit:"538304557",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"338092"}},{bidder:"ix",params:{siteId:"182250",size:[300,600]}},{bidder:"ix",params:{siteId:"182250",size:[300,250]}},{bidder:"ix",params:{siteId:"182250",size:[160,600]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"428742",sizes:[15]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_rrail_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-rectangleRailMiddle",posName:"/rectanglerailmiddle",code:a.slotName+"/rectanglerailmiddle",sizes:[[300,600],[300,250],[160,600]],lazy:!1,prebidConfig:{posName:"rectanglerailmiddle",mobile:!1,mediaTypes:{banner:{sizes:[[300,600],[300,250],[160,600]]}},bids:[{bidder:"aol",params:{placement:"4122147",alias:"rectanglerailmiddle",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"6748638",section:a.adUnit}},{bidder:"openx",params:{unit:"538304558",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"338094"}},{bidder:"ix",params:{siteId:"182251",size:[300,600]}},{bidder:"ix",params:{siteId:"182251",size:[300,250]}},{bidder:"ix",params:{siteId:"182251",size:[160,600]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"428744",sizes:[10]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_rrail_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-rectangleRailBottom",posName:"/rectanglerailbottom",code:a.slotName+"/rectanglerailbottom",sizes:[[160,600],[300,600],[300,250]],lazy:!1,prebidConfig:{posName:"rectanglerailbottom",mobile:!1,mediaTypes:{banner:{sizes:[[160,600],[300,600],[300,250]]}},bids:[{bidder:"aol",params:{placement:"4122149",alias:"rectanglerailbottom",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"6748674",section:a.adUnit}},{bidder:"openx",params:{unit:"538304559",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"338102"}},{bidder:"ix",params:{siteId:"182252",size:[300,600]}},{bidder:"ix",params:{siteId:"182252",size:[300,250]}},{bidder:"ix",params:{siteId:"182252",size:[160,600]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"428746",sizes:[9]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_rrail_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-bannerBottom",posName:"/bannerbottom",code:a.slotName+"/bannerbottom",sizes:[[728,90]],lazy:!0,prebidConfig:{posName:"bannerbottom",mobile:!1,mediaTypes:{banner:{sizes:[[728,90]]}},bids:[{bidder:"aol",params:{placement:"4122154",network:"10026.1",alias:"bannerbottom"}},{bidder:"appnexus",params:{placementId:"6748710",section:a.adUnit}},{bidder:"openx",params:{unit:"538304564",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"338104"}},{bidder:"ix",params:{siteId:"182253",size:[728,90]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"428748",sizes:[2]}},{bidder:"triplelift",params:{inventoryCode:"howstuffworks_728x90_hdx"}}]}},{divId:"ad-div-mobrectangle",posName:"/mobrectangle",code:a.slotName+"/mobrectangle",sizes:[[300,250],[320,50],[300,50],[320,100]],lazy:!1,prebidConfig:{posName:"mobrectangle",mobile:!0,mediaTypes:{banner:{sizes:[[300,250],[320,50],[300,50],[320,100]]}},bids:[{bidder:"aol",params:{placement:"4122161",network:"10026.1",alias:"mobrectangle"}},{bidder:"appnexus",params:{placementId:"6748779",section:a.adUnit}},{bidder:"openx",params:{unit:"538304565",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"338107"}},{bidder:"ix",params:{siteId:"182254",size:[300,250]}},{bidder:"ix",params:{siteId:"182254",size:[320,50]}},{bidder:"ix",params:{siteId:"182254",size:[300,50]}},{bidder:"ix",params:{siteId:"182254",size:[320,100]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"91004",zoneId:"428734",sizes:[15]}},{bidder:"audienceNetwork",params:{placementId:"899104866837181_1476769395737389"}},{bidder:"triplelift",params:{inventoryCode:"howstuffworks_320x50_hdx"}}]},amazonConfig:{}},{divId:"ad-div-mobRectangleInline",posName:"/mobrectangleinline",code:a.slotName+"/mobrectangleinline",sizes:[[300,250],[320,50],[300,50],[320,100]],lazy:!1,prebidConfig:{posName:"mobrectangleinline",mobile:!0,mediaTypes:{banner:{sizes:[[300,250],[320,50],[300,50],[320,100]]}},bids:[{bidder:"aol",params:{placement:"4122158",network:"10026.1",alias:"mobrectangleinline"}},{bidder:"appnexus",params:{placementId:"6748844",section:a.adUnit}},{bidder:"openx",params:{unit:"538304566",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"338109"}},{bidder:"ix",params:{siteId:"182255",size:[300,250]}},{bidder:"ix",params:{siteId:"182255",size:[320,50]}},{bidder:"ix",params:{siteId:"182255",size:[300,50]}},{bidder:"ix",params:{siteId:"182255",size:[320,100]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"91004",zoneId:"428736",sizes:[15]}},{bidder:"audienceNetwork",params:{placementId:"899104866837181_1476769632404032"}},{bidder:"triplelift",params:{inventoryCode:"howstuffworks_320x50_hdx"}}]}},{divId:"ad-div-mobadhesion",posName:"/mobadhesion",code:a.slotName+"/mobadhesion",sizes:[[320,50],[300,50]],lazy:!1,prebidConfig:{posName:"mobadhesion",mobile:!0,mediaTypes:{banner:{sizes:[[320,50],[300,50]]}},bids:[{bidder:"aol",params:{placement:"4122157",network:"10026.1",alias:"mobadhesion"}},{bidder:"appnexus",params:{placementId:"6748750",section:a.adUnit}},{bidder:"openx",params:{unit:"538304581",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"338106"}},{bidder:"ix",params:{siteId:"182256",size:[320,50]}},{bidder:"ix",params:{siteId:"182256",size:[300,50]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"91004",zoneId:"428732",sizes:[43]}},{bidder:"audienceNetwork",params:{placementId:"899104866837181_1750932548321071"}},{bidder:"triplelift",params:{inventoryCode:"howstuffworks_320x50_hdx"}}]},amazonConfig:{}}];void 0===a.allow_adx&&(a.allow_adx="true");var d=["true","false"];a.targetingParams={s1:a.s1||"",s2:a.s2||"",s3:a.s3||"",s4:a.s4||"",mkcpgn:a.mkcpgn||"organic",pid:a.pid||"",type:a.type||"",kw:a.kw||"",seq:1,url:HSW.utilities.trimUrl(location.href),hswpid:a.hswpid||"",srch_tag:a.srch_tag,rf:a.rf,hsw:a.hswtrkr,allow_adx:-1===d.indexOf(a.allow_adx)?"true":a.allow_adx,exp:GACtest||""};for(var e in a.targetingParams)null!==a.targetingParams[e]&&void 0!==a.targetingParams[e]||delete a.targetingParams[e];var f=pageMetricsData.template.toLowerCase();"quiz"!==f&&"photogallery"!==f||a.isMobile||$.each(c,function(a,b){void 0===b.bids||"/rectanglerailbottom"!==b.posName&&"/rectanglerailmiddle"!==b.posName||(c[a].prebidConfig.bids=c[a].prebidConfig.bids.filter(function(a){return"openx"!==a.bidder}))}),HSW.utilities.getViewportWidth()>1299&&$.each(c,function(a,b){"/bannerinline1"!==b.posName&&"/bannerinline2"!==b.posName||(c[a].sizes=[[728,90]],c[a].prebidConfig.bids=c[a].prebidConfig.bids.map(function(a){return"ix"===a.bidder&&(a.params.size=[728,90]),a}))}),"HomePage"===pageMetricsData.template&&HSW.utilities.getViewportWidth()>1139&&$.each(c,function(a,b){"/bannerinline1"!==b.posName&&"/bannerinline2"!==b.posName||(c[a].sizes=[[728,90]],c[a].prebidConfig.bids=c[a].prebidConfig.bids.map(function(a){return"ix"===a.bidder&&(a.params.size=[728,90]),a}))}),!0===a.no_afc&&"www"!=pageMetricsData.subdomain&&c.push({divId:"ad-div-rectangleInArticle",posName:"/rectangleinarticle",code:a.slotName+"/rectangleinarticle",sizes:[[300,250]],prebidConfig:{mobile:!1,bids:[]},amazonConfig:{}});var g=new Date;g.setTime(g.getTime()+18e5);var h=Cookies.get("mkcpgn"),i=HSW.utilities.getQueryVar("mkcpgn");a.mkcpgn=h||i,a.mkcpgn&&(void 0===h&&Cookies.set("mkcpgn",b(a.mkcpgn),{expires:g}),a.targetingParams.mkcpgn=a.mkcpgn);var j=Cookies.get("hswtrkr"),k=HSW.utilities.getQueryVar("hsw");a.hswtrkr=j||k,a.hswtrkr&&void 0===j&&Cookies.set("hswtrkr",b(k),{expires:g});var l=1;if("quiz"===f){var m="quiz-"+pageMetricsData.contentid,n=Cookies.getJSON(m);void 0!==n&&"number"==typeof n.questions&&(l=2*(n.questions+1)-1)}if("embed"===f){var m="embed-"+pageMetricsData.contentid,n=Cookies.getJSON(m);void 0!==n&&"number"==typeof n.adLoad&&(l=n.adLoad+1)}a.targetingParams.seq=l.toString();for(var o=[],p=[],q=c.length,r=0;r<q;r++)if(a.ads)for(var s=0,t=a.ads.length;s<t;s++)"HomePage"!==pageMetricsData.template&&"ad-div-bannerBottom"===c[r].divId||(c[r].loaded=!1,a.ads[s].toLowerCase()===c[r].divId.toLowerCase()&&HSW.utilities.isMobile()===c[r].prebidConfig.mobile&&(o.push(c[r]),p.push(c[r].divId)));else o.push(c[r]);return a.adUnits=o,a.ads=p,a} dfpSettings = prepareConfigForAC(dfpSettings); var leaderboardHeight= 0; const PREBID_TIMEOUT = 1500, APS_TIMEOUT = 1500, REFRESH_TIMER = GACtest === 'test15' ? 30000 : 60000, TIMED_REFRESH = (pageMetricsData.template !== 'Top10'), DEBUG_MODE = !(HSW.utilities.getQueryVar('pbjs_debug') === false), PREBID_URL = '//cdn-assets.hswstatic.com/lite/2218/js/vendor/prebid_1.40.0.js', seqVal = {}, adUnitTimers = {}; function initAdsCoordinator (fireNow) { var launchAC = async function () { var AC = s1.AdsCoordinator; omjs({event:'AdRequestStart', product:'hsw', payload:{environment: HSW.env, country: userData.country, userInEU: userData.userInEU}}); //Setup attaching extra key+value pairs AC.onEvent(AC.EVENTS.GPT_INIT, () => { Object.keys(dfpSettings.targetingParams).forEach(key => AC.setTargeting(key, dfpSettings.targetingParams[key].toString()) ); }); AC.onEvent(AC.EVENTS.GPT_SLOT_RENDER_ENDED, (e) => { var slotId = e.eventData.slot.getSlotElementId(), adHeight = e.eventData.size[1]; if (DEBUG_MODE) { console.log('### rendered ad divId = ', slotId); } //Disable any stickiness if ad returned is greater than 90px tall if (slotId === 'ad-div-bannerTop') { leaderboardHeight = adHeight; if (adHeight > 90) { $('#ad-wrap-bannerTop').removeClass('leaderboard-sticky'); var stickyElements = document.querySelectorAll('.leaderboard-sticky'); Stickyfill.remove(stickyElements); } } //Flag the ad units that have rendered at least once (and eligible for timed refreshes) dfpSettings.adUnits.map(adUnit => { if (adUnit.divId === slotId) { adUnit.loaded = true; } }); }); AC.onEvent(AC.EVENTS.GPT_IMPRESSION_VIEWABLE, (e) => { var slotId = e.eventData.slot.getSlotElementId(); if (DEBUG_MODE) { console.log('### slot with viewable impression = ', slotId); } }); if (TIMED_REFRESH && GACtest === 'test15') { AC.onEvent(AC.EVENTS.GPT_IMPRESSION_VIEWABLE, onViewable); } //Init AC with Prebid + Amazon await AC.init({ autoUpdateDom:true, isRefreshDisabledUntilViewable: TIMED_REFRESH, isRefreshQueueEnabled: TIMED_REFRESH, waitAfterViewableTimeout: REFRESH_TIMER, maxAdRequestFailTimeout: (REFRESH_TIMER * 10), lazyLoadConfig: { root: null, rootMargin: '100px', // trigger when 100px from rootMargin threshold: 0.5 }, bidFrameworkConfig: { prebid: { scriptSrc: PREBID_URL, prebidConfig: { bidderTimeout: PREBID_TIMEOUT, cookieSyncDelay: 100, debug: DEBUG_MODE, priceGranularity: { 'buckets' : [ { 'precision' : 2, 'min' : 0, 'max' : 20, 'increment' : 0.01 }, { 'precision' : 2, 'min' : 20, 'max' : 200, 'increment' : 1.00 } ] }, userSync: { iframeEnabled: true } } }, aps: { apsConfig: { bidTimeout: APS_TIMEOUT, isDebug: !(HSW.utilities.getQueryVar('amzn_debug_mode') === false), pubID: '3082' } } }, adManagerConfig:{ url: 'https://www.googletagservices.com/tag/js/gpt.js', gptConfig: { setForceSafeFrame: false } } }) await AC.addAdUnits(dfpSettings.adUnits) //Add slot-level targeting to include 'pos' dfpSettings.adUnits.forEach(adUnit => { AC.setSlotTargeting(adUnit.code, 'pos', adUnit.prebidConfig.posName); }); AC.enableAds() //Only fetch the ads that are not lazy loaded AC.refreshAds(dfpSettings.adUnits.map(adUnit => { if (!adUnit.lazy) { return adUnit.code; } })).then(acStore => { if (DEBUG_MODE) { setTimeout(debugAdsCoordinator, 4000); } if (TIMED_REFRESH && GACtest !== 'test15') { refreshAdTimer(); } }); }; if (fireNow) { launchAC(); } else { $(document).ready(function () { //Factor score from BDS when data is available if (window.bdsData) { if (window.bdsData.traffic_score < 50) { launchAC(); } else { omjs({event:'BotDetectedBlockAds', product:'hsw', payload:{environment: HSW.env, reason: window.bdsData.reason_code}}); } } //Just launch AC without BDS data else { omjs({event:'BotDetectionQueryDelayed', product:'hsw', payload:{environment: HSW.env, country: userData.country, userInEU: userData.userInEU}}); launchAC(); } }); } } function initLazyLoadAds () { $(document).ready(function () { dfpSettings.adUnits.map(adUnit => { if (!adUnit.lazy) { return; } inView('#' + adUnit.divId).once('enter', function () { s1.AdsCoordinator.refreshAds([adUnit.code]); }); }); }); } function createStickyLeaderboard () { //Nothing to enable on mobile, or if ad has already loaded and is too tall. if (HSW.utilities.isMobile() || leaderboardHeight > 90) { return; } //Make sticky $('#ad-wrap-bannerTop').addClass('leaderboard-sticky'); var stickyElements = document.querySelectorAll('.leaderboard-sticky'); Stickyfill.add(stickyElements); var stickyActive = true; //Unstick by pixel depth var unstickAtDepth = 900; $(document).scroll(function() { if (stickyActive) { var currDepth = $(document).scrollTop(); if (currDepth > unstickAtDepth) { $('#ad-wrap-bannerTop').removeClass('leaderboard-sticky'); Stickyfill.remove(stickyElements); stickyActive = false; } } }); } function refreshAdTimer () { if (!window.pageAdTimer) { window.pageAdTimer = setInterval(function() { dfpSettings.targetingParams.seq++; var loadedAds = dfpSettings.adUnits.map(adUnit => { if (adUnit.loaded) { return adUnit.code; } }); if (DEBUG_MODE) { console.log('### loadedAds eligible for TIMED REFRESH = ', loadedAds); } s1.AdsCoordinator.refreshAds(loadedAds, { seq : dfpSettings.targetingParams.seq.toString() }); }, REFRESH_TIMER); } } onViewable = event => { try { const code = event.eventData.slot.getAdUnitPath() || ''; const timerSeconds = REFRESH_TIMER/1000; seqVal[code] = seqVal[code] ? seqVal[code] + 1 : 2; //Assume we didn't log the first ad load if (DEBUG_MODE) { console.log(`### start ${timerSeconds}s timer to call lazyRefreshAds([${code}])`); } if (adUnitTimers[code]) { clearTimeout(adUnitTimers[code]); } //Sanity check (kill refreshes after page has been open for approx 30 min) if (seqVal[code] > 60) { return; } adUnitTimers[code] = setTimeout(() => { if (DEBUG_MODE) { console.log(`### end ${timerSeconds}s timer, now calling lazyRefreshAds([${code}]) with seq = ${seqVal[code]};`); } s1.AdsCoordinator.lazyRefreshAds({ codes: [code], targetingParams: { seq: seqVal[code] } }); }, REFRESH_TIMER); } catch (e) { console.log('onViewable error', e); } }; function debugAdsCoordinator () { //Get info about all bids and whether any won var responses = pbjs.getBidResponses(); var winners = pbjs.getAllWinningBids(); var output = []; Object.keys(responses).forEach(function(adUnitCode) { var response = responses[adUnitCode]; response.bids.forEach(function(bid) { output.push({ adunit: adUnitCode, adId: bid.adId, bidder: bid.bidder, time: bid.timeToRespond, cpm: bid.cpm, msg: bid.statusMessage, rendered: !!winners.find(function(winner) { return winner.adId==bid.adId; }) }); }); }); if (output.length) { console.log('INFO: PREBID_TIMEOUT = ', PREBID_TIMEOUT); console.log('INFO: Raw bid responses object = ', responses); console.log('INFO: Table showing all bid requests made and responses below:'); if (console.table) { console.table(output); } else { for (var j = 0; j < output.length; j++) { console.log(output[j]); } } } else { console.warn('NO prebid responses'); } //Get highest bid from Prebid bidders (whether they won or not) for each position var bids = pbjs.getHighestCpmBids(); var output = []; for (var i = 0; i < bids.length; i++) { var b = bids[i]; output.push({ 'adunit': b.adUnitCode, 'adId': b.adId, 'bidder': b.bidder, 'time': b.timeToRespond, 'cpm': b.cpm }); } if (output.length) { console.log('INFO: Table showing all highest bids per position below:'); if (console.table) { console.table(output); } else { for (var j = 0; j < output.length; j++) { console.log(output[j]); } } } else { console.warn('No prebid winners'); } } //Handle delayed loading since library loads async var acLib = document.querySelector('#aclib'), isWaitingForAcLib = false, hasInitializedAcLib = false; var waitForAcLib = function () { if (hasInitializedAcLib) { return false; } if (typeof s1 !== 'undefined' && typeof s1.AdsCoordinator !== 'undefined') { hasInitializedAcLib = true; initAdsCoordinator(); //Setup scroll detection to trigger refresh of lazy-load ad units initLazyLoadAds(); return true; } else if (!isWaitingForAcLib && acLib) { isWaitingForAcLib = true; acLib.addEventListener('load', waitForAcLib); } } //Make sure user is not in EU //EU users are handled by cmp_init if (!userData.userInEU) { waitForAcLib(); } </script> <link rel="stylesheet" href="//cdn-assets.hswstatic.com/lite/2218/css/editorial.min.css"><style> </style> <script type="text/javascript"> window._taboola = window._taboola || []; _taboola.push({ article:'auto' }); function initTaboolaWidget () { !function (e, f, u, i) { if (!document.getElementById(i)){ e.async = 1; e.src = u; e.id = i; f.parentNode.insertBefore(e, f); } }(document.createElement('script'), document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/howstuffworks-howstuffworks/loader.js', 'tb_loader_script'); if(window.performance && typeof window.performance.mark == 'function') {window.performance.mark('tbl_ic');} } </script> </head> <body class="hsw-page cid-929698 interior editorial-content editorial article-template page-0 news news-post"><svg xmlns="http://www.w3.org/2000/svg" style="display: none;" aria-hidden="true"><symbol id="arrow-down" viewBox="0 0 32 32"><g><path d="M14.496 5.975l-.001 14.287-6.366-6.367L6 16.021l10.003 10.004L26 16.029 23.871 13.9l-6.366 6.368V5.977z"/></g></symbol> <symbol id="arrow-left" viewBox="0 0 32 32"><g><path d="M26.025 14.496l-14.286-.001 6.366-6.366L15.979 6 5.975 16.003 15.971 26l2.129-2.129-6.367-6.366h14.29z"/></g></symbol> <symbol id="arrow-right" viewBox="0 0 32 32"><g><path d="M5.975 17.504l14.287.001-6.367 6.366L16.021 26l10.004-10.003L16.029 6l-2.128 2.129 6.367 6.366H5.977z"/></g></symbol> <symbol id="arrow-up" viewBox="0 0 32 32"><g><path d="M17.504 26.025l.001-14.287 6.366 6.367L26 15.979 15.997 5.975 6 15.971 8.129 18.1l6.366-6.368v14.291z"/></g></symbol> <symbol id="chevron-down" viewBox="0 0 32 32"><g><path d="M16.003 18.626l7.081-7.081L25 13.46l-8.997 8.998-9.003-9 1.917-1.916z"/> </g></symbol> <symbol id="chevron-left" viewBox="0 0 32 32"><g><path d="M14.19 16.005l7.869 7.868-2.129 2.129-9.996-9.997L19.937 6.002l2.127 2.129z"/></g></symbol> <symbol id="chevron-right" viewBox="0 0 32 32"><g><path d="M18.629 15.997l-7.083-7.081L13.462 7l8.997 8.997L13.457 25l-1.916-1.916z"/></g></symbol> <symbol id="chevron-up" viewBox="0 0 32 32"><g><path d="M15.997 13.374l-7.081 7.081L7 18.54l8.997-8.998 9.003 9-1.916 1.916z"/></g></symbol> <symbol id="clear" viewBox="0 0 32 32"><g><path d="M7.004 23.087l7.08-7.081-7.07-7.071L8.929 7.02l7.067 7.069L23.084 7l1.912 1.913-7.089 7.093 7.075 7.077-1.912 1.913-7.074-7.073L8.917 25z"/></g></symbol> <symbol id="hamburger" viewBox="0 0 32 32"><g><path d="M6.001 7.128L6 10.438l19.998-.005L26 7.124zM6.001 21.566L6 24.876l19.998-.006.002-3.308zM6.001 14.341L6 17.65l19.998-.004.002-3.309z"/></g></symbol> <symbol id="pause" viewBox="0 0 32 32"><g><path d="M18.432 7.5h4.547v17h-4.547zM9.022 7.5h4.545v17H9.022z"/> </g></symbol> <symbol id="play" viewBox="0 0 32 32"><g><path d="M10.968 23V9l12.762 7-12.762 7z"/></g></symbol> <symbol id="refresh" viewBox="0 0 32 32"><g><path d="M27.1 14.313V5.396L24.158 8.34c-2.33-2.325-5.033-3.503-8.11-3.503C9.902 4.837 4.901 9.847 4.899 16c.001 6.152 5.003 11.158 11.15 11.16 4.276 0 9.369-2.227 10.836-8.478l.028-.122h-3.23l-.022.068c-1.078 3.242-4.138 5.421-7.613 5.421a8 8 0 0 1-5.691-2.359A7.993 7.993 0 0 1 8 16.001c0-4.438 3.611-8.049 8.05-8.049 2.069 0 3.638.58 5.924 2.573l-3.792 3.789H27.1z"/></g></symbol> <symbol id="search" viewBox="0 0 32 32"><g> <path d="M27 24.57l-5.647-5.648a8.895 8.895 0 0 0 1.522-4.984C22.875 9.01 18.867 5 13.938 5 9.01 5 5 9.01 5 13.938c0 4.929 4.01 8.938 8.938 8.938a8.887 8.887 0 0 0 4.984-1.522L24.568 27 27 24.57zm-13.062-4.445a6.194 6.194 0 0 1-6.188-6.188 6.195 6.195 0 0 1 6.188-6.188 6.195 6.195 0 0 1 6.188 6.188 6.195 6.195 0 0 1-6.188 6.188z"/></g></symbol> <symbol id="stop" viewBox="0 0 32 32"><g><path d="M8 8h16v16H8z"/> </g></symbol> <symbol id="random" viewBox="0 0 20 20"><path d="M15.093 6.694h0.92v2.862l3.987-4.024-3.988-4.025v2.387h-0.92c-3.694 0-5.776 2.738-7.614 5.152-1.652 2.172-3.080 4.049-5.386 4.049h-2.092v2.799h2.093c3.694 0 5.776-2.736 7.614-5.152 1.652-2.173 3.080-4.048 5.386-4.048zM5.41 8.458c0.158-0.203 0.316-0.412 0.477-0.623 0.39-0.514 0.804-1.055 1.252-1.596-1.322-1.234-2.915-2.144-5.046-2.144h-2.093v2.799h2.093c1.327 0 2.362 0.623 3.317 1.564zM16.012 13.294h-0.92c-1.407 0-2.487-0.701-3.491-1.738-0.1 0.131-0.201 0.264-0.303 0.397-0.441 0.58-0.915 1.201-1.439 1.818 1.356 1.324 3 2.324 5.232 2.324h0.92v2.398l3.989-4.025-3.988-4.025v2.851z"></path></symbol> <symbol id="home" viewBox="0 0 32 32"><title>home</title><path d="M32 19l-6-6v-9h-4v5l-6-6-16 16v1h4v10h10v-6h4v6h10v-10h4z"></path></symbol> <symbol id="linkedin" viewBox="0 0 32 32"><path d="M12 12h5.535v2.837h0.079c0.77-1.381 2.655-2.837 5.464-2.837 5.842 0 6.922 3.637 6.922 8.367v9.633h-5.769v-8.54c0-2.037-0.042-4.657-3.001-4.657-3.005 0-3.463 2.218-3.463 4.509v8.688h-5.767v-18z"></path><path d="M2 12h6v18h-6v-18z"></path><path d="M8 7c0 1.657-1.343 3-3 3s-3-1.343-3-3c0-1.657 1.343-3 3-3s3 1.343 3 3z"></path></symbol> <symbol id="rss" viewBox="0 0 32 32"><path d="M4.259 23.467c-2.35 0-4.259 1.917-4.259 4.252 0 2.349 1.909 4.244 4.259 4.244 2.358 0 4.265-1.895 4.265-4.244-0-2.336-1.907-4.252-4.265-4.252zM0.005 10.873v6.133c3.993 0 7.749 1.562 10.577 4.391 2.825 2.822 4.384 6.595 4.384 10.603h6.16c-0-11.651-9.478-21.127-21.121-21.127zM0.012 0v6.136c14.243 0 25.836 11.604 25.836 25.864h6.152c0-17.64-14.352-32-31.988-32z"></path></symbol> <symbol id="double-chevron-right" viewBox="0 0 24 24"><path d="M13.707 17.707l5-5c0.391-0.391 0.391-1.024 0-1.414l-5-5c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414l4.293 4.293-4.293 4.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0zM6.707 17.707l5-5c0.391-0.391 0.391-1.024 0-1.414l-5-5c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414l4.293 4.293-4.293 4.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0z"></path></symbol> <symbol id="double-chevron-left" viewBox="0 0 24 24"><title>chevrons-left</title><path d="M11.707 16.293l-4.293-4.293 4.293-4.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5 5c-0.391 0.391-0.391 1.024 0 1.414l5 5c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414zM18.707 16.293l-4.293-4.293 4.293-4.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5 5c-0.391 0.391-0.391 1.024 0 1.414l5 5c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"></path></symbol> <symbol id="envelope" viewBox="0 0 32 32"><title>email</title><path d="M29 4h-26c-1.65 0-3 1.35-3 3v20c0 1.65 1.35 3 3 3h26c1.65 0 3-1.35 3-3v-20c0-1.65-1.35-3-3-3zM12.461 17.199l-8.461 6.59v-15.676l8.461 9.086zM5.512 8h20.976l-10.488 7.875-10.488-7.875zM12.79 17.553l3.21 3.447 3.21-3.447 6.58 8.447h-19.579l6.58-8.447zM19.539 17.199l8.461-9.086v15.676l-8.461-6.59z"></path></symbol> <symbol id="spinner" viewBox="0 0 32 32"><title>spinner8</title><path d="M16 32c-4.274 0-8.292-1.664-11.314-4.686s-4.686-7.040-4.686-11.314c0-3.026 0.849-5.973 2.456-8.522 1.563-2.478 3.771-4.48 6.386-5.791l1.344 2.682c-2.126 1.065-3.922 2.693-5.192 4.708-1.305 2.069-1.994 4.462-1.994 6.922 0 7.168 5.832 13 13 13s13-5.832 13-13c0-2.459-0.69-4.853-1.994-6.922-1.271-2.015-3.066-3.643-5.192-4.708l1.344-2.682c2.615 1.31 4.824 3.313 6.386 5.791 1.607 2.549 2.456 5.495 2.456 8.522 0 4.274-1.664 8.292-4.686 11.314s-7.040 4.686-11.314 4.686z"></path></symbol> <symbol id="new-tab" viewBox="0 0 32 32"><path d="M6 2v24h24v-24h-24zM28 24h-20v-20h20v20zM4 28v-21l-2-2v25h25l-2-2h-21z"></path><path d="M11 8l5 5-6 6 3 3 6-6 5 5v-13z"></path></symbol> <symbol id="facebook" viewBox="0 0 32 32"><title>facebook</title><path d="M19 6h5v-6h-5c-3.86 0-7 3.14-7 7v3h-4v6h4v16h6v-16h5l1-6h-6v-3c0-0.542 0.458-1 1-1z"></path></symbol> <symbol id="facebook-square" viewBox="0 0 32 32"><title>facebook2</title><path d="M29 0h-26c-1.65 0-3 1.35-3 3v26c0 1.65 1.35 3 3 3h13v-14h-4v-4h4v-2c0-3.306 2.694-6 6-6h4v4h-4c-1.1 0-2 0.9-2 2v2h6l-1 4h-5v14h9c1.65 0 3-1.35 3-3v-26c0-1.65-1.35-3-3-3z"></path></symbol> <symbol id="instagram" viewBox="0 0 32 32"><title>instagram</title><path d="M16 2.881c4.275 0 4.781 0.019 6.462 0.094 1.563 0.069 2.406 0.331 2.969 0.55 0.744 0.288 1.281 0.638 1.837 1.194 0.563 0.563 0.906 1.094 1.2 1.838 0.219 0.563 0.481 1.412 0.55 2.969 0.075 1.688 0.094 2.194 0.094 6.463s-0.019 4.781-0.094 6.463c-0.069 1.563-0.331 2.406-0.55 2.969-0.288 0.744-0.637 1.281-1.194 1.837-0.563 0.563-1.094 0.906-1.837 1.2-0.563 0.219-1.413 0.481-2.969 0.55-1.688 0.075-2.194 0.094-6.463 0.094s-4.781-0.019-6.463-0.094c-1.563-0.069-2.406-0.331-2.969-0.55-0.744-0.288-1.281-0.637-1.838-1.194-0.563-0.563-0.906-1.094-1.2-1.837-0.219-0.563-0.481-1.413-0.55-2.969-0.075-1.688-0.094-2.194-0.094-6.463s0.019-4.781 0.094-6.463c0.069-1.563 0.331-2.406 0.55-2.969 0.288-0.744 0.638-1.281 1.194-1.838 0.563-0.563 1.094-0.906 1.838-1.2 0.563-0.219 1.412-0.481 2.969-0.55 1.681-0.075 2.188-0.094 6.463-0.094zM16 0c-4.344 0-4.887 0.019-6.594 0.094-1.7 0.075-2.869 0.35-3.881 0.744-1.056 0.412-1.95 0.956-2.837 1.85-0.894 0.888-1.438 1.781-1.85 2.831-0.394 1.019-0.669 2.181-0.744 3.881-0.075 1.713-0.094 2.256-0.094 6.6s0.019 4.887 0.094 6.594c0.075 1.7 0.35 2.869 0.744 3.881 0.413 1.056 0.956 1.95 1.85 2.837 0.887 0.887 1.781 1.438 2.831 1.844 1.019 0.394 2.181 0.669 3.881 0.744 1.706 0.075 2.25 0.094 6.594 0.094s4.888-0.019 6.594-0.094c1.7-0.075 2.869-0.35 3.881-0.744 1.050-0.406 1.944-0.956 2.831-1.844s1.438-1.781 1.844-2.831c0.394-1.019 0.669-2.181 0.744-3.881 0.075-1.706 0.094-2.25 0.094-6.594s-0.019-4.887-0.094-6.594c-0.075-1.7-0.35-2.869-0.744-3.881-0.394-1.063-0.938-1.956-1.831-2.844-0.887-0.887-1.781-1.438-2.831-1.844-1.019-0.394-2.181-0.669-3.881-0.744-1.712-0.081-2.256-0.1-6.6-0.1v0z"></path><path d="M16 7.781c-4.537 0-8.219 3.681-8.219 8.219s3.681 8.219 8.219 8.219 8.219-3.681 8.219-8.219c0-4.537-3.681-8.219-8.219-8.219zM16 21.331c-2.944 0-5.331-2.387-5.331-5.331s2.387-5.331 5.331-5.331c2.944 0 5.331 2.387 5.331 5.331s-2.387 5.331-5.331 5.331z"></path><path d="M26.462 7.456c0 1.060-0.859 1.919-1.919 1.919s-1.919-0.859-1.919-1.919c0-1.060 0.859-1.919 1.919-1.919s1.919 0.859 1.919 1.919z"></path></symbol> <symbol id="twitter" viewBox="0 0 32 32"><title>twitter</title><path d="M32 7.075c-1.175 0.525-2.444 0.875-3.769 1.031 1.356-0.813 2.394-2.1 2.887-3.631-1.269 0.75-2.675 1.3-4.169 1.594-1.2-1.275-2.906-2.069-4.794-2.069-3.625 0-6.563 2.938-6.563 6.563 0 0.512 0.056 1.012 0.169 1.494-5.456-0.275-10.294-2.888-13.531-6.862-0.563 0.969-0.887 2.1-0.887 3.3 0 2.275 1.156 4.287 2.919 5.463-1.075-0.031-2.087-0.331-2.975-0.819 0 0.025 0 0.056 0 0.081 0 3.181 2.263 5.838 5.269 6.437-0.55 0.15-1.131 0.231-1.731 0.231-0.425 0-0.831-0.044-1.237-0.119 0.838 2.606 3.263 4.506 6.131 4.563-2.25 1.762-5.075 2.813-8.156 2.813-0.531 0-1.050-0.031-1.569-0.094 2.913 1.869 6.362 2.95 10.069 2.95 12.075 0 18.681-10.006 18.681-18.681 0-0.287-0.006-0.569-0.019-0.85 1.281-0.919 2.394-2.075 3.275-3.394z"></path></symbol> <symbol id="youtube-play" viewBox="0 0 32 32"><title>youtube</title><path d="M31.681 9.6c0 0-0.313-2.206-1.275-3.175-1.219-1.275-2.581-1.281-3.206-1.356-4.475-0.325-11.194-0.325-11.194-0.325h-0.012c0 0-6.719 0-11.194 0.325-0.625 0.075-1.987 0.081-3.206 1.356-0.963 0.969-1.269 3.175-1.269 3.175s-0.319 2.588-0.319 5.181v2.425c0 2.587 0.319 5.181 0.319 5.181s0.313 2.206 1.269 3.175c1.219 1.275 2.819 1.231 3.531 1.369 2.563 0.244 10.881 0.319 10.881 0.319s6.725-0.012 11.2-0.331c0.625-0.075 1.988-0.081 3.206-1.356 0.962-0.969 1.275-3.175 1.275-3.175s0.319-2.587 0.319-5.181v-2.425c-0.006-2.588-0.325-5.181-0.325-5.181zM12.694 20.15v-8.994l8.644 4.513-8.644 4.481z"></path></symbol> </svg> <script type="text/javascript" src="https://s.flocdn.com/cmp/loader.js"></script> <script type="text/javascript"> //Make sure we have a valid reference to AFC/AFS container object adsbygoogle=window.adsbygoogle||[]; (function () { var cmpInitialized = false, forceCMP = (HSW.utilities.hashArgs['cmp'] === 'on'); /** * Wrapper for log output to silence messages when logging is turned off * * @param string m * @param mixed v * @return void */ function cmpLog (m, v) { if (forceCMP) { if (v) { console.log('CMP:' + m, v); } else { console.log('CMP:' + m); } } } /** * Wrapper for logging data to different services * * @param string e * @return void */ function cmpLogEvent (e) { if (typeof glogger !== 'undefined' && typeof gloggerApp !== 'undefined') { glogger.increment(gloggerApp + '.cmp', { 'country': userData.country, 'event' : e.replace(/-/g, "_") }); } } /** * Event handler for when user submits consent data via CMP dialogue * * @param obj result * @return void */ function cmpSubmit (result) { cmpLog("onSubmit", result); cmpLogEvent('submit-consent'); //Safe now to call Prebid/DFP, but must activate Consent Mgmt features cmpProcessConsent(true); } /** * Detected new EU user that must be shown the Consent Tool via CMP * * @param obj result * @return void */ function cmpShowTool (result) { cmpLog('showConsentTool; errorMsg = ', result.errorMsg); //Show consent tool for this user cmp('showConsentTool'); cmpLogEvent('show-consent-tool'); //User has saved consent cmp('addEventListener', 'onSubmit', cmpSubmit); //User has chaned their consent cmp('addEventListener', 'onConsentChanged', function() { //@todo }); } /** * Process state of user and their implicit/explicit level of consent * * @param bool activateConsentMgmt * @returns void */ function cmpProcessConsent(activateConsentMgmt) { //When Consent Management is not needed, allow everything (not EU user) if (!activateConsentMgmt) { return cmpFullResume('consent-not-required', false); } //User opted in to everything, so we kick everything off with full permissions var fullOptIn = (document.cookie.indexOf("gdpr_opt_in=1") >= 0); if (fullOptIn) { return cmpFullResume('full-consent-granted', false); } cmpActivateVendors(activateConsentMgmt); } /** * Load / trigger resuming everything on the page * * @param string r * @param bool activateConsentMgmt * @return void */ function cmpFullResume(r, activateConsentMgmt) { cmpLog('full resume'); //Log timing till this var cmpTimeToFullResume = performance.now() - hswTime0; gloggerQueue.push(function () { var countryLabel = ''; if (userData.country === 'US') { countryLabel = '_us'; } if (userData.country === 'GB') { countryLabel = '_uk'; } glogger.timing(gloggerApp + '.cmp_full_resume_time' + countryLabel, cmpTimeToFullResume); }); //Resume Prebid + DFP if (typeof initAdsCoordinator !== 'undefined'){ if (typeof s1 !== 'undefined' && typeof s1.AdsCoordinator != 'undefined') { initAdsCoordinator(true); } else { waitForAcLib(); } } //Load and resume AdSense if (pageMetricsData.template.toLowerCase() === 'search') { $.getScript("https://www.google.com/adsense/search/ads.js"); if (typeof pageOptions !== 'undefined') { _googCsa('ads', pageOptions, adblock1, adblock2); } } else { $.getScript('//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'); adsbygoogle.pauseAdRequests = 0; } //Load and activate GTM + GA pageMetricsData.firePixels = true; deferLoadGTM(); //Load any custom fonts from Google if (typeof loadCustomFonts === 'function') { loadCustomFonts(); } //Load all Taboola products if (typeof initTaboolaWidget === 'function') { initTaboolaWidget(); } if (typeof loadBodyWidget === 'function') { loadBodyWidget(); } if (typeof loadRailWidget === 'function') { loadRailWidget(); } if (typeof loadTaboolaNewsroom === 'function') { loadTaboolaNewsroom(); } //Log activity cmpLogEvent(r); } /** * Determine which components on the page should be resumed and whether * they need special configuration based on user's level of consent. * * @param bool activateConsentMgmt * @returns void */ function cmpActivateVendors(activateConsentMgmt) { //@todo - we cannot yet determine how to legally load GTM/GA with partial consent //Handle partial consents where user may have rejected specific purposes/vendors __cmp('getVendorConsents', [42, 77, 164, 10, 32, 13], function (result) { cmpLog('getVendorConsents result = ', result); //See if user turned off Personalization //under publisher consent; in CMP, it is a top-level category/purpose if (result.purposeConsents[2] === false) { cmpLog('getVendorConsents personalization turned OFF'); //Turn off personalized-ads on main GPT (DFP) ad request pageMetricsData.nonPersonalized = true; if (typeof dfpSettings !== 'undefined') { dfpSettings.gptNonPersonalized = true; } //Turn off personalized-ads on AFC/AFS and resume loading adsbygoogle.requestNonPersonalizedAds = 1; } //Resume AFC/AFS load and Prebid/DFP requests if (pageMetricsData.template.toLowerCase() === 'search') { $.getScript("https://www.google.com/adsense/search/ads.js"); pageOptions.personalizedAds = false; _googCsa('ads', pageOptions, adblock1, adblock2); } else { $.getScript('//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'); adsbygoogle.pauseAdRequests = 0; } if (result.purposeConsents[1] === false && result.purposeConsents[2] === false && result.purposeConsents[3] === false && result.purposeConsents[4] === false && result.purposeConsents[5] === false) { cmpLogEvent('no-consent-granted'); } else { cmpLogEvent('partial-consent-granted'); } //@todo - remove below when we have green-light to move to Prebid 1.x !!!!!!!!!!! //Resume loading ad request if (typeof HSW.ads === 'object') { //For now, pull out all bidder config on ad units while CMP is updated to //provide the necessary data to Prebid's Consent Management module $.each(dfpSettings.adUnits, function (k, v) { if ( typeof v.bids !== 'undefined' ) { dfpSettings.adUnits[k].bids = []; } }); HSW.ads.resume(activateConsentMgmt); } return; //Taboola products (widget/newsroom and GTM conversion pixel) if (result.vendorConsents[42] === true) { if (typeof initTaboolaWidget === 'function') { initTaboolaWidget(); } if (typeof loadBodyWidget === 'function') { loadBodyWidget(); } if (typeof loadRailWidget === 'function') { loadRailWidget(); } if (typeof loadTaboolaNewsroom === 'function') { loadTaboolaNewsroom(); } } //comScore ping if (result.vendorConsents[77] === true) { //@todo } //Outbrain conversion pixel if (result.vendorConsents[164] === true) { //@todo } //Index Exchange tracking pixel if (result.vendorConsents[10] === true) { //@todo } //AppNexus tracking pixel if (result.vendorConsents[32] === true) { //@todo } //Sovrn tracking pixel if (result.vendorConsents[13] === true) { //@todo } }); } //Expose this to other libraries within the HSW.utilities namespace HSW.utilities.cmpInit = function () { if (cmpInitialized) { return; } cmpInitialized = true; if (!userData.checkConsent) { cmpLog("No CMP needed; proceeding with pageload"); //Go ahead and call Prebid/DFP; no need to use Consent Mgmt return cmpProcessConsent(false); } var cmpConfig = { scriptSrc: 'https://s.flocdn.com/cmp/s1.cmp.js', gdprApplies: true, logging: forceCMP }; //Init S1 CMP cmp('init', cmpConfig, (result) => { cmpLogEvent('init'); cmpLog('init: result = ', result); //Consent required if (result.consentRequired) { if (result.errorMsg) { //Consent not yet acquired; launch tool cmpShowTool(result); } else { //Full consent acquired if (document.cookie.indexOf("gdpr_opt_in=1") >= 0) { cmpLog("init: all consent achieved", result); cmpProcessConsent(true); } //Partial consent acquired else { cmpLog("init: only some consent achieved", result); cmpProcessConsent(true); } } } //CMP says consent not required (unclear on when this would be active) else { cmpLog('init: checkConsent was true, but CMP returns consentRequired = false; result = ', result); //Go ahead and call Prebid/DFP; no need to use Consent Mgmt cmpProcessConsent(false); } }); } //If geo is known before we loaded this CMP library, let's go ahead and fire it up if (typeof userData.country !== 'undefined') { HSW.utilities.cmpInit(); } })(); </script> <nav id="offcanvas" class="navmenu navmenu-fixed-right navmenu-site offcanvas" data-track-gtm="Mobile Menu"> <div id="offcanvas-navigation" class="link-menu"> <span><a href="" class="exit-offcanvas">X</a></span> <ul> <li class="unit"><a class="navLink" href="//adventure.howstuffworks.com">Adventure</a></li> <li class="unit"><a class="navLink" href="//animals.howstuffworks.com/">Animals</a></li> <li class="unit"><a class="navLink" href="//auto.howstuffworks.com">Auto</a></li> <li class="unit"><a class="navLink" href="//people.howstuffworks.com/culture">Culture</a></li> <li class="unit"><a class="navLink" href="//entertainment.howstuffworks.com">Entertainment</a></li> <li class="unit"><a class="navLink" href="//health.howstuffworks.com">Health</a></li> <li class="unit"><a class="navLink" href="//home.howstuffworks.com">Home &amp; Garden</a></li> <li class="unit"><a class="navLink" href="//lifestyle.howstuffworks.com">Lifestyle</a></li> <li class="unit"><a class="navLink" href="//money.howstuffworks.com">Money</a></li> <li class="unit"><a class="navLink" href="//science.howstuffworks.com">Science</a></li> <li class="unit"><a class="navLink" href="//electronics.howstuffworks.com/tech">Tech</a></li> <li class="unit"><a class="navLink" href="//www.howstuffworks.com/videos">Video</a></li> <li class="unit"><a class="navLink" href="//www.stuffmedia.com">Podcasts</a></li> <li class="unit"><a class="navLink" href="https://play.howstuffworks.com">Quizzes</a></li> </ul> </div> </nav> <script> $(document).ready(function (e) { $( ".exit-offcanvas" ).click(function(e) { $('#offcanvas').offcanvas('hide'); e.preventDefault(); }); }); </script> <div class="ad-dock"> <div id="ad-wrap-mobadhesion"> <div id="ad-div-mobadhesion" class="ad-tag text-center hidden-sm hidden-md hidden-lg hidden-xl "> <script> if (typeof googletag !== 'undefined' && HSW.utilities.isMobile() === true) { googletag.cmd.push(function() { googletag.display('ad-div-mobadhesion'); }); } </script> </div> </div></div> <div id="wrap"> <header class="hsw" data-track-gtm="Header"> <div id="hsw-header"> <div class="header-wrapper"> <div class="container"> <div class="row"> <div class="expanded-logo"> <div class="hswLogo" data-track-gtm="Logo Graphic"> <a href="//www.howstuffworks.com/"> <svg viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="question-mark"> <polygon id="Rectangle-2" fill="#027DB8" points="0 0 100 0 100 100 0 100"></polygon> <path d="M49.889,74.9212148 C63.949,74.9212148 73.676,83.9940346 73.676,97.1197079 C73.676,98.1038578 73.614,99.062953 73.506,100 L73.506,100 L61.289,100 C61.508,99.1080515 61.638,98.1810264 61.638,97.2219312 C61.638,90.6545847 56.338,85.4432003 49.791,85.4432003 C43.336,85.4432003 38.043,90.7487905 38.043,97.2219312 C38.043,98.1780198 38.175,99.1050449 38.401,100 L38.401,100 L26.157,100 C26.056,99.0960252 26,98.1700023 26,97.2219312 C26,83.9940346 35.727,74.9212148 49.889,74.9212148 Z M52.8844,16 C63.9674,16 74.6514,22.0943132 74.6514,35.6509279 C74.6514,52.5468374 57.2054,54.307684 57.2054,66.0002267 L57.2054,68.0637345 L43.6744,68.0637345 L43.6744,65.0220899 C43.6744,49.3017485 60.5354,47.5348887 60.5354,35.7491425 C60.5354,30.4395435 56.7144,27.9911951 52.5004,27.9911951 C46.8144,27.9911951 44.0724,31.6211247 44.0724,37.1241462 L44.0724,38.3027208 L30.5414,38.3027208 C30.5414,24.4484559 39.1674,16 52.8844,16 Z" id="Combined-Shape" fill="#FEFEFE"></path> </g> </g> </svg> </a> </div> <div class="header-content"> <div class="row header-top"> <div class="col-sm-5 col-xs-9"> <div class="site-name-wrap" data-track-gtm="Site Name"> <a class="pull-left hidden-xs" href="//www.howstuffworks.com"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 40" enable-background="new 0 0 240 40"><g transform="translate(151.877 .338)"><defs><filter filterUnits="userSpaceOnUse" x="-31.5" y="1.5" width="11.8" height="14.3"><feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"></feColorMatrix></filter> </defs> <mask maskUnits="userSpaceOnUse" x="-31.5" y="1.5" width="11.8" height="14.3"> <path class="st1" d="M-31.5 1.5h11.8v14.3h-11.8z" fill-rule="evenodd" clip-rule="evenodd" filter="url(#a)"></path> </mask> <path d="M-28 15.8V15c0-4.3 4.5-4.8 4.5-8 0-1.5-1-2.1-2.2-2.1-1.5 0-2.3 1-2.3 2.5v.3h-3.6c0-3.8 2.3-6.1 6-6.1 3 0 5.8 1.7 5.8 5.4 0 4.6-4.7 5.1-4.7 8.3v.6H-28z" mask="url(#b)" fill-rule="evenodd" clip-rule="evenodd"></path> </g> <g transform="translate(0 10.95)"> <defs> <filter filterUnits="userSpaceOnUse" x="6.1" y="-.9" width="10.8" height="19.9"> <feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"></feColorMatrix> </filter> </defs> <mask maskUnits="userSpaceOnUse" x="6.1" y="-.9" width="10.8" height="19.9"> <path class="st1" d="M6.1-.9h10.7v19.8H6.1z" fill-rule="evenodd" clip-rule="evenodd" filter="url(#c)"></path> </mask> <path d="M6.1-.9h3.1V9c1-1.3 2-1.9 3.5-1.9 1.3 0 2.5.5 3.3 1.4.7.8.9 1.6.9 3.2v7.2h-3.1v-6.3c0-2-.6-2.8-2.1-2.8-1.6 0-2.4 1-2.4 3.2v5.9H6.1V-.9z" mask="url(#d)" fill-rule="evenodd" clip-rule="evenodd"></path> </g> <path class="st5" d="M34.8 18.4l2.9 6.6 3.1-6.9h1.3l3.1 7 3-6.7h3.5l-5.8 11.7h-1.5l-3-7-3 7H37l-5.7-11.7zm67.7 0l3 6.6 3-6.9h1.4l3 7 3-6.7h3.5l-5.8 11.7h-1.4l-3-7-3 7h-1.4L99 18.4zm31.3 0h3.1v1.7c.8-1.4 1.8-2.1 3.3-2.1.5 0 .8.1 1.3.3l-.4 3c-.6-.3-.9-.4-1.5-.4-1.8 0-2.7 1.1-2.7 3.4v5.5h-3.1V18.4zm11.9-8.4v12.6l4.2-4.2h4.2l-5.2 5 5.7 6.5h-4.3l-4.2-5-.4.4v4.6h-3.1V10zm17.3 9.2l-1.5 1.9c-.7-.5-1.2-.8-1.9-.8s-1.2.4-1.2 1 .3.8 1.8 1.3c2.6 1 3.4 1.8 3.4 3.6 0 2.4-1.9 4.1-4.7 4.1-1.6 0-3.2-.7-4.3-1.9l1.7-2c.9.9 1.7 1.4 2.6 1.4.8 0 1.4-.5 1.4-1.2s-.3-.9-1.7-1.5c-2.6-1-3.3-1.6-3.3-3.4 0-2.2 1.7-3.7 4-3.7 1.5 0 2.6.3 3.7 1.2m-141 5c0 1.7 1.4 3.2 3.1 3.2 1.8 0 3.2-1.4 3.2-3.2 0-1.8-1.4-3.2-3.2-3.2-1.7-.1-3.1 1.4-3.1 3.2m-3.3 0c0-3.6 2.6-6.1 6.4-6.1 3.8 0 6.4 2.5 6.4 6.1 0 3.6-2.6 6.1-6.4 6.1-3.8-.1-6.4-2.5-6.4-6.1" fill-rule="evenodd" clip-rule="evenodd"></path> <path class="st5" d="M22 24.2c0 1.7 1.4 3.2 3.1 3.2 1.8 0 3.2-1.4 3.2-3.2 0-1.8-1.4-3.2-3.2-3.2-1.7-.1-3.1 1.4-3.1 3.2m-3.3 0c0-3.6 2.6-6.1 6.4-6.1 3.8 0 6.4 2.5 6.4 6.1 0 3.6-2.6 6.1-6.4 6.1-3.8-.1-6.4-2.5-6.4-6.1m103.7 0c0 1.7 1.4 3.2 3.1 3.2 1.8 0 3.2-1.4 3.2-3.2 0-1.8-1.4-3.2-3.2-3.2-1.7-.1-3.1 1.4-3.1 3.2m-3.2 0c0-3.6 2.6-6.1 6.4-6.1 3.8 0 6.4 2.5 6.4 6.1 0 3.6-2.6 6.1-6.4 6.1-3.8-.1-6.4-2.5-6.4-6.1m-58.9-5l-1.5 1.9c-.7-.5-1.2-.8-1.9-.8s-1.2.4-1.2 1 .3.8 1.8 1.3c2.6 1 3.4 1.8 3.4 3.6 0 2.4-1.9 4.1-4.7 4.1-1.6 0-3.2-.7-4.3-1.9l1.7-2c.9.9 1.7 1.4 2.6 1.4.8 0 1.4-.5 1.4-1.2s-.3-.9-1.7-1.5c-2.6-1-3.3-1.6-3.3-3.4 0-2.2 1.7-3.7 4-3.7 1.4 0 2.6.3 3.7 1.2m6.1 2v8.7h-3.1v-8.7h-1.2v-2.8h1.2v-3.9h3.1v3.9h2.2v2.8zm7-2.8v6.5c0 1.7.8 2.6 2.3 2.6 1.5 0 2.3-.9 2.3-2.6v-6.5h3v7c0 3.1-2 4.8-5.4 4.8-3.5 0-5.4-1.7-5.4-4.8v-7h3.2zm13.9 2.8v8.7h-3.1v-8.7H83v-2.8h1.2v-3.7c0-2 .4-3 1.5-3.9.8-.7 1.8-1.1 2.9-1.1.6 0 .9.1 1.7.4V13c-.7-.4-1-.4-1.4-.4-1 0-1.4.7-1.4 2.6v3.2h2.9v2.8h-3.1zm8.1 0v8.7h-3.1v-8.7h-1.2v-2.8h1.2v-3.7c0-2 .4-3 1.5-3.9.8-.7 1.8-1.1 2.9-1.1.6 0 .9.1 1.7.4V13c-.7-.4-1-.4-1.4-.4-1 0-1.4.7-1.4 2.6v3.2h2.9v2.8h-3.1z" fill-rule="evenodd" clip-rule="evenodd"></path> </svg> </a> <a class="pull-left h3 hidden-sm hidden-md hidden-lg" href="https://entertainment.howstuffworks.com/">Entertainment</a> </div> </div> <div class="col-sm-7 headerModule hidden-xs"> <div class="pull-right"> <ul class="list-inline pull-left social"> <li><a data-track-gtm="Random Content Icon" rel="nofollow" class="random-icon" href="//www.howstuffworks.com/random" title="Explore Random HowStuffWorks Content"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#random"></use></svg> </a></li> <li><a data-track-gtm="Social Follow" class="fb-icon" href="https://www.facebook.com/HowStuffWorks" target="_blank" title="HowStuffWorks on Facebook"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#facebook"></use></svg> </a></a></li> <li><a data-track-gtm="Social Follow" class="twitter-icon" href="https://twitter.com/howstuffworks" target="_blank" title="HowStuffWorks on Twitter"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#twitter"></use></svg> </a></a></li> <li class="hidden-sm"><a data-track-gtm="Social Follow" class="instagram-icon" href="https://www.instagram.com/howstuffworks/" target="_blank" title="HowStuffWorks on Instagram"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#instagram"></use></svg> </a></a></li> <li class="hidden-sm"><a data-track-gtm="Social Follow" class="youtube-icon" href="https://www.youtube.com/user/HowStuffWorks?sub_confirmation=1" target="_blank" title="HowStuffWorks on YouTube"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#youtube-play"></use></svg> </a></a></li> </ul> <div class="searchSection"> <div class="searchBar"> <form class="searchForm" action="//www.howstuffworks.com/search.php"> <span class="headerInput"> <input class="headerInputBox" type="text" name="terms" placeholder="Search"> <button type="submit" class="headerInputButton"> <svg viewBox="0 0 32 32" class="ic iconSearch" aria-hidden="true"><use xlink:href="#search"></use></svg> </button> </span> </form> </div> </div> </div> </div> <div class="col-xs-3 hidden-sm hidden-md hidden-lg no-gutter"> <button type="button" class="navbar-toggle masthead-toggle" data-recalc="false" data-toggle="offcanvas" data-target="#offcanvas" data-canvas="body"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a id="btn-search-nav" class="btn-search"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#search"></use></svg> </a> </div> </div> <div class="row hidden-xs header-bottom"> <div class="col-sm-12 no-gutter"> <nav class="collapse navbar-collapse" data-track-gtm="Navbar"> <ul class="nav navbar-nav nav-channel"> <li class="dropdown channel" data-track-gtm="Channel Dropdown"> <svg viewBox="0 0 32 32" class="ic pull-right icon-2x" aria-hidden="true"><use xlink:href="#chevron-down"></use></svg> <a href="#" class="dropdown-toggle" id="vertical-dropdown" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Entertainment</a> <ul class="dropdown-menu" aria-labelledby="vertical-dropdown" itemscope itemtype="http://www.schema.org/SiteNavigationElement"> <li itemprop="name"><a itemprop="url" href="https://health.howstuffworks.com/">Health</a></li> <li itemprop="name"><a itemprop="url" href="https://science.howstuffworks.com/">Science</a></li> <li itemprop="name"><a itemprop="url" href="https://home.howstuffworks.com/">Home &amp; Garden</a></li> <li itemprop="name"><a itemprop="url" href="https://auto.howstuffworks.com/">Auto</a></li> <li itemprop="name"><a itemprop="url" href="https://electronics.howstuffworks.com/tech">Tech</a></li> <li itemprop="name"><a itemprop="url" href="https://people.howstuffworks.com/culture">Culture</a></li> <li itemprop="name"><a itemprop="url" href="https://money.howstuffworks.com/">Money</a></li> <li itemprop="name"><a itemprop="url" href="https://lifestyle.howstuffworks.com/">Lifestyle</a></li> <li itemprop="name"><a itemprop="url" href="https://entertainment.howstuffworks.com/">Entertainment</a></li> <li itemprop="name"><a itemprop="url" href="https://adventure.howstuffworks.com/">Adventure</a></li> <li itemprop="name"><a itemprop="url" href="https://animals.howstuffworks.com/">Animals</a></li> <li itemprop="name"><a itemprop="url" href="http://www.stuffmedia.com/">Podcasts</a></li> <li itemprop="name"><a itemprop="url" href="https://www.howstuffworks.com/videos">Video</a></li> <li itemprop="name"><a itemprop="url" href="https://play.howstuffworks.com/">Quizzes</a></li> </ul> </li> <li data-nlen="162.81" class="first-subcat"><a href="https://entertainment.howstuffworks.com/leisure-channel.htm" data-track-gtm="Subcat">Leisure Channel</a></li> <li data-nlen="242.334" class=""><a href="https://entertainment.howstuffworks.com/movies-film-channel.htm" data-track-gtm="Subcat">Movies</a></li> <li data-nlen="321.858" class=""><a href="https://entertainment.howstuffworks.com/sports-channel.htm" data-track-gtm="Subcat">Sports</a></li> <li data-nlen="382.874" class=""><a href="https://entertainment.howstuffworks.com/arts" data-track-gtm="Subcat">Arts</a></li> <li data-nlen="425.382" class=""><a href="https://entertainment.howstuffworks.com/tv.htm" data-track-gtm="Subcat">TV</a></li> <li data-nlen="495.652" class=" visible-md-block visible-lg-block"><a href="https://entertainment.howstuffworks.com/music-technology-channel.htm" data-track-gtm="Subcat">Music</a></li> <li data-nlen="556.668" class=" visible-md-block visible-lg-block"><a href="https://entertainment.howstuffworks.com/toys-channel.htm" data-track-gtm="Subcat">Toys</a></li> </ul> </nav> </div> </div> </div> </div> <div class="searchSectionMobile hidden"> <div class="searchBar"> <form class="searchFormMobile" action="//www.howstuffworks.com/search.php"> <span class="headerInput"> <button class="headerInputButton" type="submit"> <svg viewBox="0 0 32 32" class="ic icon-white" aria-hidden="true"><use xlink:href="#search"></use></svg> </button> <input class="headerInputBox" type="text" name="terms" placeholder="Search"> </span> </form> </div> </div> </div> </div> </div> <script type="text/javascript"> $("#btn-search-nav").bind("click", function() { var pageSlideDown = '#page' $(this).toggleClass('reveal'); $(".searchSectionMobile").toggleClass('hidden'); $(pageSlideDown).toggleClass('slide'); }); </script> </div> </header> <div id="page"> <div class="container" data-track-gtm="Page"> <div id="ad-wrap-bannerTop"> <div id="ad-div-bannerTop" class="ad-tag "> <script> if (typeof googletag !== 'undefined' && HSW.utilities.isMobile() === false) { googletag.cmd.push(function() { googletag.display('ad-div-bannerTop'); }); } </script> </div> <script>if (createStickyLeaderboard) { createStickyLeaderboard(); }</script> </div> <div class="breadcrumb hidden-xs " data-track-gtm="Breadcrumbs"> <ol itemscope itemtype="https://schema.org/BreadcrumbList" class="list-unstyled list-inline"> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a itemprop="item" href="https://www.howstuffworks.com/"> <span itemprop="name">HowStuffWorks</span> </a> <meta itemprop="position" content="1" /> </li> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a itemprop="item" href="https://entertainment.howstuffworks.com/"> <span itemprop="name">Entertainment</span> </a> <meta itemprop="position" content="2" /> </li> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a itemprop="item" href="https://entertainment.howstuffworks.com/toys-channel.htm"> <span itemprop="name">Toys</span> </a> <meta itemprop="position" content="3" /> </li> </ol> </div> <div class="row "> <div class="col-xs-12 editorial-title"> <h1>Why Legos Have Stood the Test of Time</h1> </div> <script> //twitter asynch window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; js.async = true; fjs.parentNode.insertBefore(js, fjs); t._e = []; t.ready = function(f) { t._e.push(f); }; return t; }(document, "script", "twitter-wjs")); </script> <script> $(document).ready(function() { $('.instagram-post').each(function () { searchText = $(this).text(); matches = searchText.match(/(?:(?:http|https):\/\/)?(?:www.)?(?:instagram.com|instagr.am)\/[p]\/([A-Za-z0-9-_]*)\//g); if ( matches != null && searchText === matches[0] ) { $.ajax({ context: this, url: "https://api.instagram.com/oembed/?maxwidth=600&url="+matches[0], dataType: 'json', success: function(data) {$(this).html(data.html); $(this).addClass('mb-2 margin-bottom2').show();} }); } }); }); </script> <div id="fb-root"></div> <div class="col-xs-12 col-sm-8 title-sub text-uppercase"> <div class="media"> <div class="media-body"><div class="pull-left"> <span class="content-author byline-segment">by <a data-track-gtm="Byline" href="https://www.howstuffworks.com/about-john-perritano.htm#perritano">John Perritano</a></span> <span class="content-date byline-segment">Jan 16, 2018</span> </div> <div class="share-wrap pull-left "> <div id="share-bar-top" data-track-gtm="Share Links : Upper" class="share-lite"></div> </div> <script id="share-html-top" type="text/template"> <ul class="list-inline"> <li><a target="_blank" class="share-twitter" data-track-gtm="Twitter" href="<% twitterURL %>" title="Share on Twitter"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#twitter"></use></svg> </a></li> <li><a target="_blank" class="share-facebook" data-track-gtm="Facebook" href="<% facebookURL %>" title="Share on Facebook"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#facebook"></use></svg> </a></li> <li class="hidden-sm hidden-xs"><a target="_blank" class="share-linkedin" data-track-gtm="LinkedIn" href="<% linkedInURL %>" title="Share on LinkedIn"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#linkedin"></use></svg> </a></li> <li class="hidden-sm hidden-xs"><a class="share-email" data-track-gtm="Email" href="<% emailURL %>" title="Share in Email"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#envelope"></use></svg> </a></li> </ul> </script> <script id="share-email-top" type="text/template"> Hi, I thought you would like this: <% url %>?utm_source=email&utm_medium=share&utm_campaign=hsw_share <% title %> </script> <script> HSW.share.init('top', 'https://entertainment.howstuffworks.com/todays-legos-are-more-than-just-toys.htm', 'Why\x20Legos\x20Have\x20Stood\x20the\x20Test\x20of\x20Time', '', { 'siteName' : 'HowStuffWorks', 'twitterVia' : 'howstuffworks' }); </script> </div> </div> </div> <div class="col-xs-12"> <hr /> </div> </div> <div class="row" id="column-wrapper"> <div id="editorial-well" class="col-sm-9 editorial-well" data-track-gtm="Body"> <div id="editorial-main"> <!-- google_ad_section_start(name=content) --> <div class="editorial-header"> </div> <article class="editorial-body infinite-container"> <div class="infinite-item" id="page0" data-slide="0"> <div class="full-width"> <div class="fragment-media " > <div class="media-hero-wrap"> <figure class=" progressive-load"> <picture style="padding-bottom: 56.198347107438%; background-image: url(https://resize.hswstatic.com/w_20/gif/legos-learning.jpg);"> <img class="progressive-img-thumbnail" src="https://resize.hswstatic.com/w_20/gif/legos-learning.jpg" alt="kids&#x20;playing&#x20;with&#x20;Lego" /> <img class="progressive-img-large" data-src="https://resize.hswstatic.com/w_907/gif/legos-learning.jpg" srcset="https://resize.hswstatic.com/w_320/h_180/gif/legos-learning.jpg 320w, https://resize.hswstatic.com/w_420/h_236/gif/legos-learning.jpg 420w, https://resize.hswstatic.com/w_907/gif/legos-learning.jpg 907w" sizes="(max-width: 320px) 320px, (max-width: 420px) 420px, 907px" alt="kids&#x20;playing&#x20;with&#x20;Lego" border="0" /><noscript> "<img src="https://resize.hswstatic.com/w_907/gif/legos-learning.jpg" width="907" alt="kids&#x20;playing&#x20;with&#x20;Lego" border="0">" </noscript> </picture> </figure> </div>" string(80893) "<div class="w-100 text-center p-4 padding-top1">ads disabled</div>'); }); } </script><script> /*! hsw-lite-frontend 2019-10-09 */ function prepareConfigForAC(a){function b(a){return a.replace(/[^\w\-\.\+]/gi,"")}var c=[{divId:"ad-div-bannerMiddle1",posName:"/bannermiddle1",code:a.slotName+"/bannermiddle1",sizes:[[728,90],[970,90],[970,250]],lazy:!1,prebidConfig:{posName:"bannermiddle1",mobile:!1,mediaTypes:{banner:{sizes:[[728,90],[970,90],[970,250]]}},bids:[{bidder:"openx",params:{unit:"540172482",delDomain:"hsw-d.openx.net"}},{bidder:"aol",params:{placement:"4865783",alias:"bannermiddle1",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"13636641",section:a.adUnit}},{bidder:"sovrn",params:{tagid:"574417"}},{bidder:"ix",params:{siteId:"233507",size:[728,90]}},{bidder:"ix",params:{siteId:"233507",size:[970,90]}},{bidder:"ix",params:{siteId:"233507",size:[970,250]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"1002544",sizes:[2]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_midart_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-bannerMiddle2",posName:"/bannermiddle2",code:a.slotName+"/bannermiddle2",sizes:[[728,90],[970,90],[970,250]],lazy:!1,prebidConfig:{posName:"bannermiddle2",mobile:!1,mediaTypes:{banner:{sizes:[[728,90],[970,90],[970,250]]}},bids:[{bidder:"openx",params:{unit:"540172483",delDomain:"hsw-d.openx.net"}},{bidder:"aol",params:{placement:"4865782",alias:"bannermiddle2",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"13636642",section:a.adUnit}},{bidder:"sovrn",params:{tagid:"574418"}},{bidder:"ix",params:{siteId:"233509",size:[728,90]}},{bidder:"ix",params:{siteId:"233509",size:[970,90]}},{bidder:"ix",params:{siteId:"233509",size:[970,250]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"1002546",sizes:[2]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_midart_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-mobInline1",posName:"/mobinline1",code:a.slotName+"/mobinline1",sizes:[[300,250]],lazy:!0,prebidConfig:{posName:"mobinline1",mobile:!0,mediaTypes:{banner:{sizes:[[300,250]]}},bids:[{bidder:"aol",params:{placement:"4882966",alias:"mobinline1",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"13761816",section:a.adUnit}},{bidder:"openx",params:{unit:"540216368",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"577104"}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"1021370"}},{bidder:"ix",params:{siteId:"290058",size:[300,250]}},{bidder:"audienceNetwork",params:{placementId:"899104866837181_1855400391207619"}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_m_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-mobInline2",posName:"/mobinline2",code:a.slotName+"/mobinline2",sizes:[[300,250]],lazy:!0,prebidConfig:{posName:"mobinline2",mobile:!0,mediaTypes:{banner:{sizes:[[300,250]]}},bids:[{bidder:"aol",params:{placement:"4882965",alias:"mobinline2",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"13761823",section:a.adUnit}},{bidder:"openx",params:{unit:"540216436",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"577105"}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"1021372"}},{bidder:"ix",params:{siteId:"290059",size:[300,250]}},{bidder:"audienceNetwork",params:{placementId:"899104866837181_1855401471207511"}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_m_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-bannerInline1",posName:"/bannerinline1",code:a.slotName+"/bannerinline1",sizes:[[300,250]],lazy:!0,prebidConfig:{posName:"bannerinline1",mobile:!1,mediaTypes:{banner:{sizes:[[300,250]]}},bids:[{bidder:"aol",params:{placement:"4882061",alias:"bannerinline1",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"13745312",section:a.adUnit}},{bidder:"openx",params:{unit:"540214023",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"576926"}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"1020312"}},{bidder:"ix",params:{siteId:"290051",size:[300,250]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_midart_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-bannerInline2",posName:"/bannerinline2",code:a.slotName+"/bannerinline2",sizes:[[300,250]],lazy:!0,prebidConfig:{posName:"bannerinline2",mobile:!1,mediaTypes:{banner:{sizes:[[300,250]]}},bids:[{bidder:"aol",params:{placement:"4882063",alias:"bannerinline2",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"13745313",section:a.adUnit}},{bidder:"openx",params:{unit:"540214024",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"576927"}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"1020314"}},{bidder:"ix",params:{siteId:"290053",size:[300,250]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_midart_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-rectangleRailSticky",posName:"/rectanglerailsticky",code:a.slotName+"/rectanglerailsticky",sizes:[[160,600],[300,600],[300,250]],lazy:!1,prebidConfig:{posName:"rectanglerailsticky",mobile:!1,mediaTypes:{banner:{sizes:[[160,600],[300,600],[300,250]]}},bids:[{bidder:"aol",params:{placement:"4882062",alias:"rectanglerailsticky",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"13745314",section:a.adUnit}},{bidder:"openx",params:{unit:"540214025",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"576928"}},{bidder:"ix",params:{siteId:"290055",size:[160,600]}},{bidder:"ix",params:{siteId:"290055",size:[300,600]}},{bidder:"ix",params:{siteId:"290055",size:[300,250]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_rrail_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-bannerTop",posName:"/bannertop",code:a.slotName+"/bannertop",sizes:[[728,90],[970,90],[970,250]],lazy:!1,prebidConfig:{posName:"bannertop",mobile:!1,mediaTypes:{banner:{sizes:[[728,90],[970,90],[970,250]]}},bids:[{bidder:"openx",params:{unit:"538304556",delDomain:"hsw-d.openx.net"}},{bidder:"aol",params:{placement:"4122151",alias:"bannertop",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"6748140",section:a.adUnit}},{bidder:"sovrn",params:{tagid:"338090"}},{bidder:"ix",params:{siteId:"182249",size:[728,90]}},{bidder:"ix",params:{siteId:"182249",size:[970,90]}},{bidder:"ix",params:{siteId:"182249",size:[970,250]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"428740",sizes:[2]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_leaderboard_header"}}]},amazonConfig:{}},{divId:"ad-div-rectangleRailTop",posName:"/rectanglerailtop",code:a.slotName+"/rectanglerailtop",sizes:[[300,600],[300,250],[160,600]],lazy:!1,prebidConfig:{posName:"rectanglerailtop",mobile:!1,mediaTypes:{banner:{sizes:[[300,600],[300,250],[160,600]]}},bids:[{bidder:"aol",params:{placement:"4122152",alias:"rectanglerailtop",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"6748582",section:a.adUnit}},{bidder:"openx",params:{unit:"538304557",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"338092"}},{bidder:"ix",params:{siteId:"182250",size:[300,600]}},{bidder:"ix",params:{siteId:"182250",size:[300,250]}},{bidder:"ix",params:{siteId:"182250",size:[160,600]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"428742",sizes:[15]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_rrail_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-rectangleRailMiddle",posName:"/rectanglerailmiddle",code:a.slotName+"/rectanglerailmiddle",sizes:[[300,600],[300,250],[160,600]],lazy:!1,prebidConfig:{posName:"rectanglerailmiddle",mobile:!1,mediaTypes:{banner:{sizes:[[300,600],[300,250],[160,600]]}},bids:[{bidder:"aol",params:{placement:"4122147",alias:"rectanglerailmiddle",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"6748638",section:a.adUnit}},{bidder:"openx",params:{unit:"538304558",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"338094"}},{bidder:"ix",params:{siteId:"182251",size:[300,600]}},{bidder:"ix",params:{siteId:"182251",size:[300,250]}},{bidder:"ix",params:{siteId:"182251",size:[160,600]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"428744",sizes:[10]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_rrail_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-rectangleRailBottom",posName:"/rectanglerailbottom",code:a.slotName+"/rectanglerailbottom",sizes:[[160,600],[300,600],[300,250]],lazy:!1,prebidConfig:{posName:"rectanglerailbottom",mobile:!1,mediaTypes:{banner:{sizes:[[160,600],[300,600],[300,250]]}},bids:[{bidder:"aol",params:{placement:"4122149",alias:"rectanglerailbottom",network:"10026.1"}},{bidder:"appnexus",params:{placementId:"6748674",section:a.adUnit}},{bidder:"openx",params:{unit:"538304559",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"338102"}},{bidder:"ix",params:{siteId:"182252",size:[300,600]}},{bidder:"ix",params:{siteId:"182252",size:[300,250]}},{bidder:"ix",params:{siteId:"182252",size:[160,600]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"428746",sizes:[9]}},{bidder:"triplelift",params:{inventoryCode:"hsw_article_d_rrail_rec_header"}}]},amazonConfig:{}},{divId:"ad-div-bannerBottom",posName:"/bannerbottom",code:a.slotName+"/bannerbottom",sizes:[[728,90]],lazy:!0,prebidConfig:{posName:"bannerbottom",mobile:!1,mediaTypes:{banner:{sizes:[[728,90]]}},bids:[{bidder:"aol",params:{placement:"4122154",network:"10026.1",alias:"bannerbottom"}},{bidder:"appnexus",params:{placementId:"6748710",section:a.adUnit}},{bidder:"openx",params:{unit:"538304564",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"338104"}},{bidder:"ix",params:{siteId:"182253",size:[728,90]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"90676",zoneId:"428748",sizes:[2]}},{bidder:"triplelift",params:{inventoryCode:"howstuffworks_728x90_hdx"}}]}},{divId:"ad-div-mobrectangle",posName:"/mobrectangle",code:a.slotName+"/mobrectangle",sizes:[[300,250],[320,50],[300,50],[320,100]],lazy:!1,prebidConfig:{posName:"mobrectangle",mobile:!0,mediaTypes:{banner:{sizes:[[300,250],[320,50],[300,50],[320,100]]}},bids:[{bidder:"aol",params:{placement:"4122161",network:"10026.1",alias:"mobrectangle"}},{bidder:"appnexus",params:{placementId:"6748779",section:a.adUnit}},{bidder:"openx",params:{unit:"538304565",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"338107"}},{bidder:"ix",params:{siteId:"182254",size:[300,250]}},{bidder:"ix",params:{siteId:"182254",size:[320,50]}},{bidder:"ix",params:{siteId:"182254",size:[300,50]}},{bidder:"ix",params:{siteId:"182254",size:[320,100]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"91004",zoneId:"428734",sizes:[15]}},{bidder:"audienceNetwork",params:{placementId:"899104866837181_1476769395737389"}},{bidder:"triplelift",params:{inventoryCode:"howstuffworks_320x50_hdx"}}]},amazonConfig:{}},{divId:"ad-div-mobRectangleInline",posName:"/mobrectangleinline",code:a.slotName+"/mobrectangleinline",sizes:[[300,250],[320,50],[300,50],[320,100]],lazy:!1,prebidConfig:{posName:"mobrectangleinline",mobile:!0,mediaTypes:{banner:{sizes:[[300,250],[320,50],[300,50],[320,100]]}},bids:[{bidder:"aol",params:{placement:"4122158",network:"10026.1",alias:"mobrectangleinline"}},{bidder:"appnexus",params:{placementId:"6748844",section:a.adUnit}},{bidder:"openx",params:{unit:"538304566",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"338109"}},{bidder:"ix",params:{siteId:"182255",size:[300,250]}},{bidder:"ix",params:{siteId:"182255",size:[320,50]}},{bidder:"ix",params:{siteId:"182255",size:[300,50]}},{bidder:"ix",params:{siteId:"182255",size:[320,100]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"91004",zoneId:"428736",sizes:[15]}},{bidder:"audienceNetwork",params:{placementId:"899104866837181_1476769632404032"}},{bidder:"triplelift",params:{inventoryCode:"howstuffworks_320x50_hdx"}}]}},{divId:"ad-div-mobadhesion",posName:"/mobadhesion",code:a.slotName+"/mobadhesion",sizes:[[320,50],[300,50]],lazy:!1,prebidConfig:{posName:"mobadhesion",mobile:!0,mediaTypes:{banner:{sizes:[[320,50],[300,50]]}},bids:[{bidder:"aol",params:{placement:"4122157",network:"10026.1",alias:"mobadhesion"}},{bidder:"appnexus",params:{placementId:"6748750",section:a.adUnit}},{bidder:"openx",params:{unit:"538304581",delDomain:"hsw-d.openx.net"}},{bidder:"sovrn",params:{tagid:"338106"}},{bidder:"ix",params:{siteId:"182256",size:[320,50]}},{bidder:"ix",params:{siteId:"182256",size:[300,50]}},{bidder:"rubicon",params:{accountId:"15008",siteId:"91004",zoneId:"428732",sizes:[43]}},{bidder:"audienceNetwork",params:{placementId:"899104866837181_1750932548321071"}},{bidder:"triplelift",params:{inventoryCode:"howstuffworks_320x50_hdx"}}]},amazonConfig:{}}];void 0===a.allow_adx&&(a.allow_adx="true");var d=["true","false"];a.targetingParams={s1:a.s1||"",s2:a.s2||"",s3:a.s3||"",s4:a.s4||"",mkcpgn:a.mkcpgn||"organic",pid:a.pid||"",type:a.type||"",kw:a.kw||"",seq:1,url:HSW.utilities.trimUrl(location.href),hswpid:a.hswpid||"",srch_tag:a.srch_tag,rf:a.rf,hsw:a.hswtrkr,allow_adx:-1===d.indexOf(a.allow_adx)?"true":a.allow_adx,exp:GACtest||""};for(var e in a.targetingParams)null!==a.targetingParams[e]&&void 0!==a.targetingParams[e]||delete a.targetingParams[e];var f=pageMetricsData.template.toLowerCase();"quiz"!==f&&"photogallery"!==f||a.isMobile||$.each(c,function(a,b){void 0===b.bids||"/rectanglerailbottom"!==b.posName&&"/rectanglerailmiddle"!==b.posName||(c[a].prebidConfig.bids=c[a].prebidConfig.bids.filter(function(a){return"openx"!==a.bidder}))}),HSW.utilities.getViewportWidth()>1299&&$.each(c,function(a,b){"/bannerinline1"!==b.posName&&"/bannerinline2"!==b.posName||(c[a].sizes=[[728,90]],c[a].prebidConfig.bids=c[a].prebidConfig.bids.map(function(a){return"ix"===a.bidder&&(a.params.size=[728,90]),a}))}),"HomePage"===pageMetricsData.template&&HSW.utilities.getViewportWidth()>1139&&$.each(c,function(a,b){"/bannerinline1"!==b.posName&&"/bannerinline2"!==b.posName||(c[a].sizes=[[728,90]],c[a].prebidConfig.bids=c[a].prebidConfig.bids.map(function(a){return"ix"===a.bidder&&(a.params.size=[728,90]),a}))}),!0===a.no_afc&&"www"!=pageMetricsData.subdomain&&c.push({divId:"ad-div-rectangleInArticle",posName:"/rectangleinarticle",code:a.slotName+"/rectangleinarticle",sizes:[[300,250]],prebidConfig:{mobile:!1,bids:[]},amazonConfig:{}});var g=new Date;g.setTime(g.getTime()+18e5);var h=Cookies.get("mkcpgn"),i=HSW.utilities.getQueryVar("mkcpgn");a.mkcpgn=h||i,a.mkcpgn&&(void 0===h&&Cookies.set("mkcpgn",b(a.mkcpgn),{expires:g}),a.targetingParams.mkcpgn=a.mkcpgn);var j=Cookies.get("hswtrkr"),k=HSW.utilities.getQueryVar("hsw");a.hswtrkr=j||k,a.hswtrkr&&void 0===j&&Cookies.set("hswtrkr",b(k),{expires:g});var l=1;if("quiz"===f){var m="quiz-"+pageMetricsData.contentid,n=Cookies.getJSON(m);void 0!==n&&"number"==typeof n.questions&&(l=2*(n.questions+1)-1)}if("embed"===f){var m="embed-"+pageMetricsData.contentid,n=Cookies.getJSON(m);void 0!==n&&"number"==typeof n.adLoad&&(l=n.adLoad+1)}a.targetingParams.seq=l.toString();for(var o=[],p=[],q=c.length,r=0;r<q;r++)if(a.ads)for(var s=0,t=a.ads.length;s<t;s++)"HomePage"!==pageMetricsData.template&&"ad-div-bannerBottom"===c[r].divId||(c[r].loaded=!1,a.ads[s].toLowerCase()===c[r].divId.toLowerCase()&&HSW.utilities.isMobile()===c[r].prebidConfig.mobile&&(o.push(c[r]),p.push(c[r].divId)));else o.push(c[r]);return a.adUnits=o,a.ads=p,a} dfpSettings = prepareConfigForAC(dfpSettings); var leaderboardHeight= 0; const PREBID_TIMEOUT = 1500, APS_TIMEOUT = 1500, REFRESH_TIMER = GACtest === 'test15' ? 30000 : 60000, TIMED_REFRESH = (pageMetricsData.template !== 'Top10'), DEBUG_MODE = !(HSW.utilities.getQueryVar('pbjs_debug') === false), PREBID_URL = '//cdn-assets.hswstatic.com/lite/2218/js/vendor/prebid_1.40.0.js', seqVal = {}, adUnitTimers = {}; function initAdsCoordinator (fireNow) { var launchAC = async function () { var AC = s1.AdsCoordinator; omjs({event:'AdRequestStart', product:'hsw', payload:{environment: HSW.env, country: userData.country, userInEU: userData.userInEU}}); //Setup attaching extra key+value pairs AC.onEvent(AC.EVENTS.GPT_INIT, () => { Object.keys(dfpSettings.targetingParams).forEach(key => AC.setTargeting(key, dfpSettings.targetingParams[key].toString()) ); }); AC.onEvent(AC.EVENTS.GPT_SLOT_RENDER_ENDED, (e) => { var slotId = e.eventData.slot.getSlotElementId(), adHeight = e.eventData.size[1]; if (DEBUG_MODE) { console.log('### rendered ad divId = ', slotId); } //Disable any stickiness if ad returned is greater than 90px tall if (slotId === 'ad-div-bannerTop') { leaderboardHeight = adHeight; if (adHeight > 90) { $('#ad-wrap-bannerTop').removeClass('leaderboard-sticky'); var stickyElements = document.querySelectorAll('.leaderboard-sticky'); Stickyfill.remove(stickyElements); } } //Flag the ad units that have rendered at least once (and eligible for timed refreshes) dfpSettings.adUnits.map(adUnit => { if (adUnit.divId === slotId) { adUnit.loaded = true; } }); }); AC.onEvent(AC.EVENTS.GPT_IMPRESSION_VIEWABLE, (e) => { var slotId = e.eventData.slot.getSlotElementId(); if (DEBUG_MODE) { console.log('### slot with viewable impression = ', slotId); } }); if (TIMED_REFRESH && GACtest === 'test15') { AC.onEvent(AC.EVENTS.GPT_IMPRESSION_VIEWABLE, onViewable); } //Init AC with Prebid + Amazon await AC.init({ autoUpdateDom:true, isRefreshDisabledUntilViewable: TIMED_REFRESH, isRefreshQueueEnabled: TIMED_REFRESH, waitAfterViewableTimeout: REFRESH_TIMER, maxAdRequestFailTimeout: (REFRESH_TIMER * 10), lazyLoadConfig: { root: null, rootMargin: '100px', // trigger when 100px from rootMargin threshold: 0.5 }, bidFrameworkConfig: { prebid: { scriptSrc: PREBID_URL, prebidConfig: { bidderTimeout: PREBID_TIMEOUT, cookieSyncDelay: 100, debug: DEBUG_MODE, priceGranularity: { 'buckets' : [ { 'precision' : 2, 'min' : 0, 'max' : 20, 'increment' : 0.01 }, { 'precision' : 2, 'min' : 20, 'max' : 200, 'increment' : 1.00 } ] }, userSync: { iframeEnabled: true } } }, aps: { apsConfig: { bidTimeout: APS_TIMEOUT, isDebug: !(HSW.utilities.getQueryVar('amzn_debug_mode') === false), pubID: '3082' } } }, adManagerConfig:{ url: 'https://www.googletagservices.com/tag/js/gpt.js', gptConfig: { setForceSafeFrame: false } } }) await AC.addAdUnits(dfpSettings.adUnits) //Add slot-level targeting to include 'pos' dfpSettings.adUnits.forEach(adUnit => { AC.setSlotTargeting(adUnit.code, 'pos', adUnit.prebidConfig.posName); }); AC.enableAds() //Only fetch the ads that are not lazy loaded AC.refreshAds(dfpSettings.adUnits.map(adUnit => { if (!adUnit.lazy) { return adUnit.code; } })).then(acStore => { if (DEBUG_MODE) { setTimeout(debugAdsCoordinator, 4000); } if (TIMED_REFRESH && GACtest !== 'test15') { refreshAdTimer(); } }); }; if (fireNow) { launchAC(); } else { $(document).ready(function () { //Factor score from BDS when data is available if (window.bdsData) { if (window.bdsData.traffic_score < 50) { launchAC(); } else { omjs({event:'BotDetectedBlockAds', product:'hsw', payload:{environment: HSW.env, reason: window.bdsData.reason_code}}); } } //Just launch AC without BDS data else { omjs({event:'BotDetectionQueryDelayed', product:'hsw', payload:{environment: HSW.env, country: userData.country, userInEU: userData.userInEU}}); launchAC(); } }); } } function initLazyLoadAds () { $(document).ready(function () { dfpSettings.adUnits.map(adUnit => { if (!adUnit.lazy) { return; } inView('#' + adUnit.divId).once('enter', function () { s1.AdsCoordinator.refreshAds([adUnit.code]); }); }); }); } function createStickyLeaderboard () { //Nothing to enable on mobile, or if ad has already loaded and is too tall. if (HSW.utilities.isMobile() || leaderboardHeight > 90) { return; } //Make sticky $('#ad-wrap-bannerTop').addClass('leaderboard-sticky'); var stickyElements = document.querySelectorAll('.leaderboard-sticky'); Stickyfill.add(stickyElements); var stickyActive = true; //Unstick by pixel depth var unstickAtDepth = 900; $(document).scroll(function() { if (stickyActive) { var currDepth = $(document).scrollTop(); if (currDepth > unstickAtDepth) { $('#ad-wrap-bannerTop').removeClass('leaderboard-sticky'); Stickyfill.remove(stickyElements); stickyActive = false; } } }); } function refreshAdTimer () { if (!window.pageAdTimer) { window.pageAdTimer = setInterval(function() { dfpSettings.targetingParams.seq++; var loadedAds = dfpSettings.adUnits.map(adUnit => { if (adUnit.loaded) { return adUnit.code; } }); if (DEBUG_MODE) { console.log('### loadedAds eligible for TIMED REFRESH = ', loadedAds); } s1.AdsCoordinator.refreshAds(loadedAds, { seq : dfpSettings.targetingParams.seq.toString() }); }, REFRESH_TIMER); } } onViewable = event => { try { const code = event.eventData.slot.getAdUnitPath() || ''; const timerSeconds = REFRESH_TIMER/1000; seqVal[code] = seqVal[code] ? seqVal[code] + 1 : 2; //Assume we didn't log the first ad load if (DEBUG_MODE) { console.log(`### start ${timerSeconds}s timer to call lazyRefreshAds([${code}])`); } if (adUnitTimers[code]) { clearTimeout(adUnitTimers[code]); } //Sanity check (kill refreshes after page has been open for approx 30 min) if (seqVal[code] > 60) { return; } adUnitTimers[code] = setTimeout(() => { if (DEBUG_MODE) { console.log(`### end ${timerSeconds}s timer, now calling lazyRefreshAds([${code}]) with seq = ${seqVal[code]};`); } s1.AdsCoordinator.lazyRefreshAds({ codes: [code], targetingParams: { seq: seqVal[code] } }); }, REFRESH_TIMER); } catch (e) { console.log('onViewable error', e); } }; function debugAdsCoordinator () { //Get info about all bids and whether any won var responses = pbjs.getBidResponses(); var winners = pbjs.getAllWinningBids(); var output = []; Object.keys(responses).forEach(function(adUnitCode) { var response = responses[adUnitCode]; response.bids.forEach(function(bid) { output.push({ adunit: adUnitCode, adId: bid.adId, bidder: bid.bidder, time: bid.timeToRespond, cpm: bid.cpm, msg: bid.statusMessage, rendered: !!winners.find(function(winner) { return winner.adId==bid.adId; }) }); }); }); if (output.length) { console.log('INFO: PREBID_TIMEOUT = ', PREBID_TIMEOUT); console.log('INFO: Raw bid responses object = ', responses); console.log('INFO: Table showing all bid requests made and responses below:'); if (console.table) { console.table(output); } else { for (var j = 0; j < output.length; j++) { console.log(output[j]); } } } else { console.warn('NO prebid responses'); } //Get highest bid from Prebid bidders (whether they won or not) for each position var bids = pbjs.getHighestCpmBids(); var output = []; for (var i = 0; i < bids.length; i++) { var b = bids[i]; output.push({ 'adunit': b.adUnitCode, 'adId': b.adId, 'bidder': b.bidder, 'time': b.timeToRespond, 'cpm': b.cpm }); } if (output.length) { console.log('INFO: Table showing all highest bids per position below:'); if (console.table) { console.table(output); } else { for (var j = 0; j < output.length; j++) { console.log(output[j]); } } } else { console.warn('No prebid winners'); } } //Handle delayed loading since library loads async var acLib = document.querySelector('#aclib'), isWaitingForAcLib = false, hasInitializedAcLib = false; var waitForAcLib = function () { if (hasInitializedAcLib) { return false; } if (typeof s1 !== 'undefined' && typeof s1.AdsCoordinator !== 'undefined') { hasInitializedAcLib = true; initAdsCoordinator(); //Setup scroll detection to trigger refresh of lazy-load ad units initLazyLoadAds(); return true; } else if (!isWaitingForAcLib && acLib) { isWaitingForAcLib = true; acLib.addEventListener('load', waitForAcLib); } } //Make sure user is not in EU //EU users are handled by cmp_init if (!userData.userInEU) { waitForAcLib(); } </script> <link rel="stylesheet" href="//cdn-assets.hswstatic.com/lite/2218/css/editorial.min.css"><style> </style> <script type="text/javascript"> window._taboola = window._taboola || []; _taboola.push({ article:'auto' }); function initTaboolaWidget () { !function (e, f, u, i) { if (!document.getElementById(i)){ e.async = 1; e.src = u; e.id = i; f.parentNode.insertBefore(e, f); } }(document.createElement('script'), document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/howstuffworks-howstuffworks/loader.js', 'tb_loader_script'); if(window.performance && typeof window.performance.mark == 'function') {window.performance.mark('tbl_ic');} } </script> </head> <body class="hsw-page cid-929698 interior editorial-content editorial article-template page-0 news news-post"><svg xmlns="http://www.w3.org/2000/svg" style="display: none;" aria-hidden="true"><symbol id="arrow-down" viewBox="0 0 32 32"><g><path d="M14.496 5.975l-.001 14.287-6.366-6.367L6 16.021l10.003 10.004L26 16.029 23.871 13.9l-6.366 6.368V5.977z"/></g></symbol> <symbol id="arrow-left" viewBox="0 0 32 32"><g><path d="M26.025 14.496l-14.286-.001 6.366-6.366L15.979 6 5.975 16.003 15.971 26l2.129-2.129-6.367-6.366h14.29z"/></g></symbol> <symbol id="arrow-right" viewBox="0 0 32 32"><g><path d="M5.975 17.504l14.287.001-6.367 6.366L16.021 26l10.004-10.003L16.029 6l-2.128 2.129 6.367 6.366H5.977z"/></g></symbol> <symbol id="arrow-up" viewBox="0 0 32 32"><g><path d="M17.504 26.025l.001-14.287 6.366 6.367L26 15.979 15.997 5.975 6 15.971 8.129 18.1l6.366-6.368v14.291z"/></g></symbol> <symbol id="chevron-down" viewBox="0 0 32 32"><g><path d="M16.003 18.626l7.081-7.081L25 13.46l-8.997 8.998-9.003-9 1.917-1.916z"/> </g></symbol> <symbol id="chevron-left" viewBox="0 0 32 32"><g><path d="M14.19 16.005l7.869 7.868-2.129 2.129-9.996-9.997L19.937 6.002l2.127 2.129z"/></g></symbol> <symbol id="chevron-right" viewBox="0 0 32 32"><g><path d="M18.629 15.997l-7.083-7.081L13.462 7l8.997 8.997L13.457 25l-1.916-1.916z"/></g></symbol> <symbol id="chevron-up" viewBox="0 0 32 32"><g><path d="M15.997 13.374l-7.081 7.081L7 18.54l8.997-8.998 9.003 9-1.916 1.916z"/></g></symbol> <symbol id="clear" viewBox="0 0 32 32"><g><path d="M7.004 23.087l7.08-7.081-7.07-7.071L8.929 7.02l7.067 7.069L23.084 7l1.912 1.913-7.089 7.093 7.075 7.077-1.912 1.913-7.074-7.073L8.917 25z"/></g></symbol> <symbol id="hamburger" viewBox="0 0 32 32"><g><path d="M6.001 7.128L6 10.438l19.998-.005L26 7.124zM6.001 21.566L6 24.876l19.998-.006.002-3.308zM6.001 14.341L6 17.65l19.998-.004.002-3.309z"/></g></symbol> <symbol id="pause" viewBox="0 0 32 32"><g><path d="M18.432 7.5h4.547v17h-4.547zM9.022 7.5h4.545v17H9.022z"/> </g></symbol> <symbol id="play" viewBox="0 0 32 32"><g><path d="M10.968 23V9l12.762 7-12.762 7z"/></g></symbol> <symbol id="refresh" viewBox="0 0 32 32"><g><path d="M27.1 14.313V5.396L24.158 8.34c-2.33-2.325-5.033-3.503-8.11-3.503C9.902 4.837 4.901 9.847 4.899 16c.001 6.152 5.003 11.158 11.15 11.16 4.276 0 9.369-2.227 10.836-8.478l.028-.122h-3.23l-.022.068c-1.078 3.242-4.138 5.421-7.613 5.421a8 8 0 0 1-5.691-2.359A7.993 7.993 0 0 1 8 16.001c0-4.438 3.611-8.049 8.05-8.049 2.069 0 3.638.58 5.924 2.573l-3.792 3.789H27.1z"/></g></symbol> <symbol id="search" viewBox="0 0 32 32"><g> <path d="M27 24.57l-5.647-5.648a8.895 8.895 0 0 0 1.522-4.984C22.875 9.01 18.867 5 13.938 5 9.01 5 5 9.01 5 13.938c0 4.929 4.01 8.938 8.938 8.938a8.887 8.887 0 0 0 4.984-1.522L24.568 27 27 24.57zm-13.062-4.445a6.194 6.194 0 0 1-6.188-6.188 6.195 6.195 0 0 1 6.188-6.188 6.195 6.195 0 0 1 6.188 6.188 6.195 6.195 0 0 1-6.188 6.188z"/></g></symbol> <symbol id="stop" viewBox="0 0 32 32"><g><path d="M8 8h16v16H8z"/> </g></symbol> <symbol id="random" viewBox="0 0 20 20"><path d="M15.093 6.694h0.92v2.862l3.987-4.024-3.988-4.025v2.387h-0.92c-3.694 0-5.776 2.738-7.614 5.152-1.652 2.172-3.080 4.049-5.386 4.049h-2.092v2.799h2.093c3.694 0 5.776-2.736 7.614-5.152 1.652-2.173 3.080-4.048 5.386-4.048zM5.41 8.458c0.158-0.203 0.316-0.412 0.477-0.623 0.39-0.514 0.804-1.055 1.252-1.596-1.322-1.234-2.915-2.144-5.046-2.144h-2.093v2.799h2.093c1.327 0 2.362 0.623 3.317 1.564zM16.012 13.294h-0.92c-1.407 0-2.487-0.701-3.491-1.738-0.1 0.131-0.201 0.264-0.303 0.397-0.441 0.58-0.915 1.201-1.439 1.818 1.356 1.324 3 2.324 5.232 2.324h0.92v2.398l3.989-4.025-3.988-4.025v2.851z"></path></symbol> <symbol id="home" viewBox="0 0 32 32"><title>home</title><path d="M32 19l-6-6v-9h-4v5l-6-6-16 16v1h4v10h10v-6h4v6h10v-10h4z"></path></symbol> <symbol id="linkedin" viewBox="0 0 32 32"><path d="M12 12h5.535v2.837h0.079c0.77-1.381 2.655-2.837 5.464-2.837 5.842 0 6.922 3.637 6.922 8.367v9.633h-5.769v-8.54c0-2.037-0.042-4.657-3.001-4.657-3.005 0-3.463 2.218-3.463 4.509v8.688h-5.767v-18z"></path><path d="M2 12h6v18h-6v-18z"></path><path d="M8 7c0 1.657-1.343 3-3 3s-3-1.343-3-3c0-1.657 1.343-3 3-3s3 1.343 3 3z"></path></symbol> <symbol id="rss" viewBox="0 0 32 32"><path d="M4.259 23.467c-2.35 0-4.259 1.917-4.259 4.252 0 2.349 1.909 4.244 4.259 4.244 2.358 0 4.265-1.895 4.265-4.244-0-2.336-1.907-4.252-4.265-4.252zM0.005 10.873v6.133c3.993 0 7.749 1.562 10.577 4.391 2.825 2.822 4.384 6.595 4.384 10.603h6.16c-0-11.651-9.478-21.127-21.121-21.127zM0.012 0v6.136c14.243 0 25.836 11.604 25.836 25.864h6.152c0-17.64-14.352-32-31.988-32z"></path></symbol> <symbol id="double-chevron-right" viewBox="0 0 24 24"><path d="M13.707 17.707l5-5c0.391-0.391 0.391-1.024 0-1.414l-5-5c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414l4.293 4.293-4.293 4.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0zM6.707 17.707l5-5c0.391-0.391 0.391-1.024 0-1.414l-5-5c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414l4.293 4.293-4.293 4.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0z"></path></symbol> <symbol id="double-chevron-left" viewBox="0 0 24 24"><title>chevrons-left</title><path d="M11.707 16.293l-4.293-4.293 4.293-4.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5 5c-0.391 0.391-0.391 1.024 0 1.414l5 5c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414zM18.707 16.293l-4.293-4.293 4.293-4.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5 5c-0.391 0.391-0.391 1.024 0 1.414l5 5c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"></path></symbol> <symbol id="envelope" viewBox="0 0 32 32"><title>email</title><path d="M29 4h-26c-1.65 0-3 1.35-3 3v20c0 1.65 1.35 3 3 3h26c1.65 0 3-1.35 3-3v-20c0-1.65-1.35-3-3-3zM12.461 17.199l-8.461 6.59v-15.676l8.461 9.086zM5.512 8h20.976l-10.488 7.875-10.488-7.875zM12.79 17.553l3.21 3.447 3.21-3.447 6.58 8.447h-19.579l6.58-8.447zM19.539 17.199l8.461-9.086v15.676l-8.461-6.59z"></path></symbol> <symbol id="spinner" viewBox="0 0 32 32"><title>spinner8</title><path d="M16 32c-4.274 0-8.292-1.664-11.314-4.686s-4.686-7.040-4.686-11.314c0-3.026 0.849-5.973 2.456-8.522 1.563-2.478 3.771-4.48 6.386-5.791l1.344 2.682c-2.126 1.065-3.922 2.693-5.192 4.708-1.305 2.069-1.994 4.462-1.994 6.922 0 7.168 5.832 13 13 13s13-5.832 13-13c0-2.459-0.69-4.853-1.994-6.922-1.271-2.015-3.066-3.643-5.192-4.708l1.344-2.682c2.615 1.31 4.824 3.313 6.386 5.791 1.607 2.549 2.456 5.495 2.456 8.522 0 4.274-1.664 8.292-4.686 11.314s-7.040 4.686-11.314 4.686z"></path></symbol> <symbol id="new-tab" viewBox="0 0 32 32"><path d="M6 2v24h24v-24h-24zM28 24h-20v-20h20v20zM4 28v-21l-2-2v25h25l-2-2h-21z"></path><path d="M11 8l5 5-6 6 3 3 6-6 5 5v-13z"></path></symbol> <symbol id="facebook" viewBox="0 0 32 32"><title>facebook</title><path d="M19 6h5v-6h-5c-3.86 0-7 3.14-7 7v3h-4v6h4v16h6v-16h5l1-6h-6v-3c0-0.542 0.458-1 1-1z"></path></symbol> <symbol id="facebook-square" viewBox="0 0 32 32"><title>facebook2</title><path d="M29 0h-26c-1.65 0-3 1.35-3 3v26c0 1.65 1.35 3 3 3h13v-14h-4v-4h4v-2c0-3.306 2.694-6 6-6h4v4h-4c-1.1 0-2 0.9-2 2v2h6l-1 4h-5v14h9c1.65 0 3-1.35 3-3v-26c0-1.65-1.35-3-3-3z"></path></symbol> <symbol id="instagram" viewBox="0 0 32 32"><title>instagram</title><path d="M16 2.881c4.275 0 4.781 0.019 6.462 0.094 1.563 0.069 2.406 0.331 2.969 0.55 0.744 0.288 1.281 0.638 1.837 1.194 0.563 0.563 0.906 1.094 1.2 1.838 0.219 0.563 0.481 1.412 0.55 2.969 0.075 1.688 0.094 2.194 0.094 6.463s-0.019 4.781-0.094 6.463c-0.069 1.563-0.331 2.406-0.55 2.969-0.288 0.744-0.637 1.281-1.194 1.837-0.563 0.563-1.094 0.906-1.837 1.2-0.563 0.219-1.413 0.481-2.969 0.55-1.688 0.075-2.194 0.094-6.463 0.094s-4.781-0.019-6.463-0.094c-1.563-0.069-2.406-0.331-2.969-0.55-0.744-0.288-1.281-0.637-1.838-1.194-0.563-0.563-0.906-1.094-1.2-1.837-0.219-0.563-0.481-1.413-0.55-2.969-0.075-1.688-0.094-2.194-0.094-6.463s0.019-4.781 0.094-6.463c0.069-1.563 0.331-2.406 0.55-2.969 0.288-0.744 0.638-1.281 1.194-1.838 0.563-0.563 1.094-0.906 1.838-1.2 0.563-0.219 1.412-0.481 2.969-0.55 1.681-0.075 2.188-0.094 6.463-0.094zM16 0c-4.344 0-4.887 0.019-6.594 0.094-1.7 0.075-2.869 0.35-3.881 0.744-1.056 0.412-1.95 0.956-2.837 1.85-0.894 0.888-1.438 1.781-1.85 2.831-0.394 1.019-0.669 2.181-0.744 3.881-0.075 1.713-0.094 2.256-0.094 6.6s0.019 4.887 0.094 6.594c0.075 1.7 0.35 2.869 0.744 3.881 0.413 1.056 0.956 1.95 1.85 2.837 0.887 0.887 1.781 1.438 2.831 1.844 1.019 0.394 2.181 0.669 3.881 0.744 1.706 0.075 2.25 0.094 6.594 0.094s4.888-0.019 6.594-0.094c1.7-0.075 2.869-0.35 3.881-0.744 1.050-0.406 1.944-0.956 2.831-1.844s1.438-1.781 1.844-2.831c0.394-1.019 0.669-2.181 0.744-3.881 0.075-1.706 0.094-2.25 0.094-6.594s-0.019-4.887-0.094-6.594c-0.075-1.7-0.35-2.869-0.744-3.881-0.394-1.063-0.938-1.956-1.831-2.844-0.887-0.887-1.781-1.438-2.831-1.844-1.019-0.394-2.181-0.669-3.881-0.744-1.712-0.081-2.256-0.1-6.6-0.1v0z"></path><path d="M16 7.781c-4.537 0-8.219 3.681-8.219 8.219s3.681 8.219 8.219 8.219 8.219-3.681 8.219-8.219c0-4.537-3.681-8.219-8.219-8.219zM16 21.331c-2.944 0-5.331-2.387-5.331-5.331s2.387-5.331 5.331-5.331c2.944 0 5.331 2.387 5.331 5.331s-2.387 5.331-5.331 5.331z"></path><path d="M26.462 7.456c0 1.060-0.859 1.919-1.919 1.919s-1.919-0.859-1.919-1.919c0-1.060 0.859-1.919 1.919-1.919s1.919 0.859 1.919 1.919z"></path></symbol> <symbol id="twitter" viewBox="0 0 32 32"><title>twitter</title><path d="M32 7.075c-1.175 0.525-2.444 0.875-3.769 1.031 1.356-0.813 2.394-2.1 2.887-3.631-1.269 0.75-2.675 1.3-4.169 1.594-1.2-1.275-2.906-2.069-4.794-2.069-3.625 0-6.563 2.938-6.563 6.563 0 0.512 0.056 1.012 0.169 1.494-5.456-0.275-10.294-2.888-13.531-6.862-0.563 0.969-0.887 2.1-0.887 3.3 0 2.275 1.156 4.287 2.919 5.463-1.075-0.031-2.087-0.331-2.975-0.819 0 0.025 0 0.056 0 0.081 0 3.181 2.263 5.838 5.269 6.437-0.55 0.15-1.131 0.231-1.731 0.231-0.425 0-0.831-0.044-1.237-0.119 0.838 2.606 3.263 4.506 6.131 4.563-2.25 1.762-5.075 2.813-8.156 2.813-0.531 0-1.050-0.031-1.569-0.094 2.913 1.869 6.362 2.95 10.069 2.95 12.075 0 18.681-10.006 18.681-18.681 0-0.287-0.006-0.569-0.019-0.85 1.281-0.919 2.394-2.075 3.275-3.394z"></path></symbol> <symbol id="youtube-play" viewBox="0 0 32 32"><title>youtube</title><path d="M31.681 9.6c0 0-0.313-2.206-1.275-3.175-1.219-1.275-2.581-1.281-3.206-1.356-4.475-0.325-11.194-0.325-11.194-0.325h-0.012c0 0-6.719 0-11.194 0.325-0.625 0.075-1.987 0.081-3.206 1.356-0.963 0.969-1.269 3.175-1.269 3.175s-0.319 2.588-0.319 5.181v2.425c0 2.587 0.319 5.181 0.319 5.181s0.313 2.206 1.269 3.175c1.219 1.275 2.819 1.231 3.531 1.369 2.563 0.244 10.881 0.319 10.881 0.319s6.725-0.012 11.2-0.331c0.625-0.075 1.988-0.081 3.206-1.356 0.962-0.969 1.275-3.175 1.275-3.175s0.319-2.587 0.319-5.181v-2.425c-0.006-2.588-0.325-5.181-0.325-5.181zM12.694 20.15v-8.994l8.644 4.513-8.644 4.481z"></path></symbol> </svg> <script type="text/javascript" src="https://s.flocdn.com/cmp/loader.js"></script> <script type="text/javascript"> //Make sure we have a valid reference to AFC/AFS container object adsbygoogle=window.adsbygoogle||[]; (function () { var cmpInitialized = false, forceCMP = (HSW.utilities.hashArgs['cmp'] === 'on'); /** * Wrapper for log output to silence messages when logging is turned off * * @param string m * @param mixed v * @return void */ function cmpLog (m, v) { if (forceCMP) { if (v) { console.log('CMP:' + m, v); } else { console.log('CMP:' + m); } } } /** * Wrapper for logging data to different services * * @param string e * @return void */ function cmpLogEvent (e) { if (typeof glogger !== 'undefined' && typeof gloggerApp !== 'undefined') { glogger.increment(gloggerApp + '.cmp', { 'country': userData.country, 'event' : e.replace(/-/g, "_") }); } } /** * Event handler for when user submits consent data via CMP dialogue * * @param obj result * @return void */ function cmpSubmit (result) { cmpLog("onSubmit", result); cmpLogEvent('submit-consent'); //Safe now to call Prebid/DFP, but must activate Consent Mgmt features cmpProcessConsent(true); } /** * Detected new EU user that must be shown the Consent Tool via CMP * * @param obj result * @return void */ function cmpShowTool (result) { cmpLog('showConsentTool; errorMsg = ', result.errorMsg); //Show consent tool for this user cmp('showConsentTool'); cmpLogEvent('show-consent-tool'); //User has saved consent cmp('addEventListener', 'onSubmit', cmpSubmit); //User has chaned their consent cmp('addEventListener', 'onConsentChanged', function() { //@todo }); } /** * Process state of user and their implicit/explicit level of consent * * @param bool activateConsentMgmt * @returns void */ function cmpProcessConsent(activateConsentMgmt) { //When Consent Management is not needed, allow everything (not EU user) if (!activateConsentMgmt) { return cmpFullResume('consent-not-required', false); } //User opted in to everything, so we kick everything off with full permissions var fullOptIn = (document.cookie.indexOf("gdpr_opt_in=1") >= 0); if (fullOptIn) { return cmpFullResume('full-consent-granted', false); } cmpActivateVendors(activateConsentMgmt); } /** * Load / trigger resuming everything on the page * * @param string r * @param bool activateConsentMgmt * @return void */ function cmpFullResume(r, activateConsentMgmt) { cmpLog('full resume'); //Log timing till this var cmpTimeToFullResume = performance.now() - hswTime0; gloggerQueue.push(function () { var countryLabel = ''; if (userData.country === 'US') { countryLabel = '_us'; } if (userData.country === 'GB') { countryLabel = '_uk'; } glogger.timing(gloggerApp + '.cmp_full_resume_time' + countryLabel, cmpTimeToFullResume); }); //Resume Prebid + DFP if (typeof initAdsCoordinator !== 'undefined'){ if (typeof s1 !== 'undefined' && typeof s1.AdsCoordinator != 'undefined') { initAdsCoordinator(true); } else { waitForAcLib(); } } //Load and resume AdSense if (pageMetricsData.template.toLowerCase() === 'search') { $.getScript("https://www.google.com/adsense/search/ads.js"); if (typeof pageOptions !== 'undefined') { _googCsa('ads', pageOptions, adblock1, adblock2); } } else { $.getScript('//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'); adsbygoogle.pauseAdRequests = 0; } //Load and activate GTM + GA pageMetricsData.firePixels = true; deferLoadGTM(); //Load any custom fonts from Google if (typeof loadCustomFonts === 'function') { loadCustomFonts(); } //Load all Taboola products if (typeof initTaboolaWidget === 'function') { initTaboolaWidget(); } if (typeof loadBodyWidget === 'function') { loadBodyWidget(); } if (typeof loadRailWidget === 'function') { loadRailWidget(); } if (typeof loadTaboolaNewsroom === 'function') { loadTaboolaNewsroom(); } //Log activity cmpLogEvent(r); } /** * Determine which components on the page should be resumed and whether * they need special configuration based on user's level of consent. * * @param bool activateConsentMgmt * @returns void */ function cmpActivateVendors(activateConsentMgmt) { //@todo - we cannot yet determine how to legally load GTM/GA with partial consent //Handle partial consents where user may have rejected specific purposes/vendors __cmp('getVendorConsents', [42, 77, 164, 10, 32, 13], function (result) { cmpLog('getVendorConsents result = ', result); //See if user turned off Personalization //under publisher consent; in CMP, it is a top-level category/purpose if (result.purposeConsents[2] === false) { cmpLog('getVendorConsents personalization turned OFF'); //Turn off personalized-ads on main GPT (DFP) ad request pageMetricsData.nonPersonalized = true; if (typeof dfpSettings !== 'undefined') { dfpSettings.gptNonPersonalized = true; } //Turn off personalized-ads on AFC/AFS and resume loading adsbygoogle.requestNonPersonalizedAds = 1; } //Resume AFC/AFS load and Prebid/DFP requests if (pageMetricsData.template.toLowerCase() === 'search') { $.getScript("https://www.google.com/adsense/search/ads.js"); pageOptions.personalizedAds = false; _googCsa('ads', pageOptions, adblock1, adblock2); } else { $.getScript('//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'); adsbygoogle.pauseAdRequests = 0; } if (result.purposeConsents[1] === false && result.purposeConsents[2] === false && result.purposeConsents[3] === false && result.purposeConsents[4] === false && result.purposeConsents[5] === false) { cmpLogEvent('no-consent-granted'); } else { cmpLogEvent('partial-consent-granted'); } //@todo - remove below when we have green-light to move to Prebid 1.x !!!!!!!!!!! //Resume loading ad request if (typeof HSW.ads === 'object') { //For now, pull out all bidder config on ad units while CMP is updated to //provide the necessary data to Prebid's Consent Management module $.each(dfpSettings.adUnits, function (k, v) { if ( typeof v.bids !== 'undefined' ) { dfpSettings.adUnits[k].bids = []; } }); HSW.ads.resume(activateConsentMgmt); } return; //Taboola products (widget/newsroom and GTM conversion pixel) if (result.vendorConsents[42] === true) { if (typeof initTaboolaWidget === 'function') { initTaboolaWidget(); } if (typeof loadBodyWidget === 'function') { loadBodyWidget(); } if (typeof loadRailWidget === 'function') { loadRailWidget(); } if (typeof loadTaboolaNewsroom === 'function') { loadTaboolaNewsroom(); } } //comScore ping if (result.vendorConsents[77] === true) { //@todo } //Outbrain conversion pixel if (result.vendorConsents[164] === true) { //@todo } //Index Exchange tracking pixel if (result.vendorConsents[10] === true) { //@todo } //AppNexus tracking pixel if (result.vendorConsents[32] === true) { //@todo } //Sovrn tracking pixel if (result.vendorConsents[13] === true) { //@todo } }); } //Expose this to other libraries within the HSW.utilities namespace HSW.utilities.cmpInit = function () { if (cmpInitialized) { return; } cmpInitialized = true; if (!userData.checkConsent) { cmpLog("No CMP needed; proceeding with pageload"); //Go ahead and call Prebid/DFP; no need to use Consent Mgmt return cmpProcessConsent(false); } var cmpConfig = { scriptSrc: 'https://s.flocdn.com/cmp/s1.cmp.js', gdprApplies: true, logging: forceCMP }; //Init S1 CMP cmp('init', cmpConfig, (result) => { cmpLogEvent('init'); cmpLog('init: result = ', result); //Consent required if (result.consentRequired) { if (result.errorMsg) { //Consent not yet acquired; launch tool cmpShowTool(result); } else { //Full consent acquired if (document.cookie.indexOf("gdpr_opt_in=1") >= 0) { cmpLog("init: all consent achieved", result); cmpProcessConsent(true); } //Partial consent acquired else { cmpLog("init: only some consent achieved", result); cmpProcessConsent(true); } } } //CMP says consent not required (unclear on when this would be active) else { cmpLog('init: checkConsent was true, but CMP returns consentRequired = false; result = ', result); //Go ahead and call Prebid/DFP; no need to use Consent Mgmt cmpProcessConsent(false); } }); } //If geo is known before we loaded this CMP library, let's go ahead and fire it up if (typeof userData.country !== 'undefined') { HSW.utilities.cmpInit(); } })(); </script> <nav id="offcanvas" class="navmenu navmenu-fixed-right navmenu-site offcanvas" data-track-gtm="Mobile Menu"> <div id="offcanvas-navigation" class="link-menu"> <span><a href="" class="exit-offcanvas">X</a></span> <ul> <li class="unit"><a class="navLink" href="//adventure.howstuffworks.com">Adventure</a></li> <li class="unit"><a class="navLink" href="//animals.howstuffworks.com/">Animals</a></li> <li class="unit"><a class="navLink" href="//auto.howstuffworks.com">Auto</a></li> <li class="unit"><a class="navLink" href="//people.howstuffworks.com/culture">Culture</a></li> <li class="unit"><a class="navLink" href="//entertainment.howstuffworks.com">Entertainment</a></li> <li class="unit"><a class="navLink" href="//health.howstuffworks.com">Health</a></li> <li class="unit"><a class="navLink" href="//home.howstuffworks.com">Home &amp; Garden</a></li> <li class="unit"><a class="navLink" href="//lifestyle.howstuffworks.com">Lifestyle</a></li> <li class="unit"><a class="navLink" href="//money.howstuffworks.com">Money</a></li> <li class="unit"><a class="navLink" href="//science.howstuffworks.com">Science</a></li> <li class="unit"><a class="navLink" href="//electronics.howstuffworks.com/tech">Tech</a></li> <li class="unit"><a class="navLink" href="//www.howstuffworks.com/videos">Video</a></li> <li class="unit"><a class="navLink" href="//www.stuffmedia.com">Podcasts</a></li> <li class="unit"><a class="navLink" href="https://play.howstuffworks.com">Quizzes</a></li> </ul> </div> </nav> <script> $(document).ready(function (e) { $( ".exit-offcanvas" ).click(function(e) { $('#offcanvas').offcanvas('hide'); e.preventDefault(); }); }); </script> <div class="ad-dock"> <div id="ad-wrap-mobadhesion"> <div id="ad-div-mobadhesion" class="ad-tag text-center hidden-sm hidden-md hidden-lg hidden-xl "> <script> if (typeof googletag !== 'undefined' && HSW.utilities.isMobile() === true) { googletag.cmd.push(function() { googletag.display('ad-div-mobadhesion'); }); } </script> </div> </div></div> <div id="wrap"> <header class="hsw" data-track-gtm="Header"> <div id="hsw-header"> <div class="header-wrapper"> <div class="container"> <div class="row"> <div class="expanded-logo"> <div class="hswLogo" data-track-gtm="Logo Graphic"> <a href="//www.howstuffworks.com/"> <svg viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="question-mark"> <polygon id="Rectangle-2" fill="#027DB8" points="0 0 100 0 100 100 0 100"></polygon> <path d="M49.889,74.9212148 C63.949,74.9212148 73.676,83.9940346 73.676,97.1197079 C73.676,98.1038578 73.614,99.062953 73.506,100 L73.506,100 L61.289,100 C61.508,99.1080515 61.638,98.1810264 61.638,97.2219312 C61.638,90.6545847 56.338,85.4432003 49.791,85.4432003 C43.336,85.4432003 38.043,90.7487905 38.043,97.2219312 C38.043,98.1780198 38.175,99.1050449 38.401,100 L38.401,100 L26.157,100 C26.056,99.0960252 26,98.1700023 26,97.2219312 C26,83.9940346 35.727,74.9212148 49.889,74.9212148 Z M52.8844,16 C63.9674,16 74.6514,22.0943132 74.6514,35.6509279 C74.6514,52.5468374 57.2054,54.307684 57.2054,66.0002267 L57.2054,68.0637345 L43.6744,68.0637345 L43.6744,65.0220899 C43.6744,49.3017485 60.5354,47.5348887 60.5354,35.7491425 C60.5354,30.4395435 56.7144,27.9911951 52.5004,27.9911951 C46.8144,27.9911951 44.0724,31.6211247 44.0724,37.1241462 L44.0724,38.3027208 L30.5414,38.3027208 C30.5414,24.4484559 39.1674,16 52.8844,16 Z" id="Combined-Shape" fill="#FEFEFE"></path> </g> </g> </svg> </a> </div> <div class="header-content"> <div class="row header-top"> <div class="col-sm-5 col-xs-9"> <div class="site-name-wrap" data-track-gtm="Site Name"> <a class="pull-left hidden-xs" href="//www.howstuffworks.com"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 40" enable-background="new 0 0 240 40"><g transform="translate(151.877 .338)"><defs><filter filterUnits="userSpaceOnUse" x="-31.5" y="1.5" width="11.8" height="14.3"><feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"></feColorMatrix></filter> </defs> <mask maskUnits="userSpaceOnUse" x="-31.5" y="1.5" width="11.8" height="14.3"> <path class="st1" d="M-31.5 1.5h11.8v14.3h-11.8z" fill-rule="evenodd" clip-rule="evenodd" filter="url(#a)"></path> </mask> <path d="M-28 15.8V15c0-4.3 4.5-4.8 4.5-8 0-1.5-1-2.1-2.2-2.1-1.5 0-2.3 1-2.3 2.5v.3h-3.6c0-3.8 2.3-6.1 6-6.1 3 0 5.8 1.7 5.8 5.4 0 4.6-4.7 5.1-4.7 8.3v.6H-28z" mask="url(#b)" fill-rule="evenodd" clip-rule="evenodd"></path> </g> <g transform="translate(0 10.95)"> <defs> <filter filterUnits="userSpaceOnUse" x="6.1" y="-.9" width="10.8" height="19.9"> <feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"></feColorMatrix> </filter> </defs> <mask maskUnits="userSpaceOnUse" x="6.1" y="-.9" width="10.8" height="19.9"> <path class="st1" d="M6.1-.9h10.7v19.8H6.1z" fill-rule="evenodd" clip-rule="evenodd" filter="url(#c)"></path> </mask> <path d="M6.1-.9h3.1V9c1-1.3 2-1.9 3.5-1.9 1.3 0 2.5.5 3.3 1.4.7.8.9 1.6.9 3.2v7.2h-3.1v-6.3c0-2-.6-2.8-2.1-2.8-1.6 0-2.4 1-2.4 3.2v5.9H6.1V-.9z" mask="url(#d)" fill-rule="evenodd" clip-rule="evenodd"></path> </g> <path class="st5" d="M34.8 18.4l2.9 6.6 3.1-6.9h1.3l3.1 7 3-6.7h3.5l-5.8 11.7h-1.5l-3-7-3 7H37l-5.7-11.7zm67.7 0l3 6.6 3-6.9h1.4l3 7 3-6.7h3.5l-5.8 11.7h-1.4l-3-7-3 7h-1.4L99 18.4zm31.3 0h3.1v1.7c.8-1.4 1.8-2.1 3.3-2.1.5 0 .8.1 1.3.3l-.4 3c-.6-.3-.9-.4-1.5-.4-1.8 0-2.7 1.1-2.7 3.4v5.5h-3.1V18.4zm11.9-8.4v12.6l4.2-4.2h4.2l-5.2 5 5.7 6.5h-4.3l-4.2-5-.4.4v4.6h-3.1V10zm17.3 9.2l-1.5 1.9c-.7-.5-1.2-.8-1.9-.8s-1.2.4-1.2 1 .3.8 1.8 1.3c2.6 1 3.4 1.8 3.4 3.6 0 2.4-1.9 4.1-4.7 4.1-1.6 0-3.2-.7-4.3-1.9l1.7-2c.9.9 1.7 1.4 2.6 1.4.8 0 1.4-.5 1.4-1.2s-.3-.9-1.7-1.5c-2.6-1-3.3-1.6-3.3-3.4 0-2.2 1.7-3.7 4-3.7 1.5 0 2.6.3 3.7 1.2m-141 5c0 1.7 1.4 3.2 3.1 3.2 1.8 0 3.2-1.4 3.2-3.2 0-1.8-1.4-3.2-3.2-3.2-1.7-.1-3.1 1.4-3.1 3.2m-3.3 0c0-3.6 2.6-6.1 6.4-6.1 3.8 0 6.4 2.5 6.4 6.1 0 3.6-2.6 6.1-6.4 6.1-3.8-.1-6.4-2.5-6.4-6.1" fill-rule="evenodd" clip-rule="evenodd"></path> <path class="st5" d="M22 24.2c0 1.7 1.4 3.2 3.1 3.2 1.8 0 3.2-1.4 3.2-3.2 0-1.8-1.4-3.2-3.2-3.2-1.7-.1-3.1 1.4-3.1 3.2m-3.3 0c0-3.6 2.6-6.1 6.4-6.1 3.8 0 6.4 2.5 6.4 6.1 0 3.6-2.6 6.1-6.4 6.1-3.8-.1-6.4-2.5-6.4-6.1m103.7 0c0 1.7 1.4 3.2 3.1 3.2 1.8 0 3.2-1.4 3.2-3.2 0-1.8-1.4-3.2-3.2-3.2-1.7-.1-3.1 1.4-3.1 3.2m-3.2 0c0-3.6 2.6-6.1 6.4-6.1 3.8 0 6.4 2.5 6.4 6.1 0 3.6-2.6 6.1-6.4 6.1-3.8-.1-6.4-2.5-6.4-6.1m-58.9-5l-1.5 1.9c-.7-.5-1.2-.8-1.9-.8s-1.2.4-1.2 1 .3.8 1.8 1.3c2.6 1 3.4 1.8 3.4 3.6 0 2.4-1.9 4.1-4.7 4.1-1.6 0-3.2-.7-4.3-1.9l1.7-2c.9.9 1.7 1.4 2.6 1.4.8 0 1.4-.5 1.4-1.2s-.3-.9-1.7-1.5c-2.6-1-3.3-1.6-3.3-3.4 0-2.2 1.7-3.7 4-3.7 1.4 0 2.6.3 3.7 1.2m6.1 2v8.7h-3.1v-8.7h-1.2v-2.8h1.2v-3.9h3.1v3.9h2.2v2.8zm7-2.8v6.5c0 1.7.8 2.6 2.3 2.6 1.5 0 2.3-.9 2.3-2.6v-6.5h3v7c0 3.1-2 4.8-5.4 4.8-3.5 0-5.4-1.7-5.4-4.8v-7h3.2zm13.9 2.8v8.7h-3.1v-8.7H83v-2.8h1.2v-3.7c0-2 .4-3 1.5-3.9.8-.7 1.8-1.1 2.9-1.1.6 0 .9.1 1.7.4V13c-.7-.4-1-.4-1.4-.4-1 0-1.4.7-1.4 2.6v3.2h2.9v2.8h-3.1zm8.1 0v8.7h-3.1v-8.7h-1.2v-2.8h1.2v-3.7c0-2 .4-3 1.5-3.9.8-.7 1.8-1.1 2.9-1.1.6 0 .9.1 1.7.4V13c-.7-.4-1-.4-1.4-.4-1 0-1.4.7-1.4 2.6v3.2h2.9v2.8h-3.1z" fill-rule="evenodd" clip-rule="evenodd"></path> </svg> </a> <a class="pull-left h3 hidden-sm hidden-md hidden-lg" href="https://entertainment.howstuffworks.com/">Entertainment</a> </div> </div> <div class="col-sm-7 headerModule hidden-xs"> <div class="pull-right"> <ul class="list-inline pull-left social"> <li><a data-track-gtm="Random Content Icon" rel="nofollow" class="random-icon" href="//www.howstuffworks.com/random" title="Explore Random HowStuffWorks Content"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#random"></use></svg> </a></li> <li><a data-track-gtm="Social Follow" class="fb-icon" href="https://www.facebook.com/HowStuffWorks" target="_blank" title="HowStuffWorks on Facebook"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#facebook"></use></svg> </a></a></li> <li><a data-track-gtm="Social Follow" class="twitter-icon" href="https://twitter.com/howstuffworks" target="_blank" title="HowStuffWorks on Twitter"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#twitter"></use></svg> </a></a></li> <li class="hidden-sm"><a data-track-gtm="Social Follow" class="instagram-icon" href="https://www.instagram.com/howstuffworks/" target="_blank" title="HowStuffWorks on Instagram"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#instagram"></use></svg> </a></a></li> <li class="hidden-sm"><a data-track-gtm="Social Follow" class="youtube-icon" href="https://www.youtube.com/user/HowStuffWorks?sub_confirmation=1" target="_blank" title="HowStuffWorks on YouTube"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#youtube-play"></use></svg> </a></a></li> </ul> <div class="searchSection"> <div class="searchBar"> <form class="searchForm" action="//www.howstuffworks.com/search.php"> <span class="headerInput"> <input class="headerInputBox" type="text" name="terms" placeholder="Search"> <button type="submit" class="headerInputButton"> <svg viewBox="0 0 32 32" class="ic iconSearch" aria-hidden="true"><use xlink:href="#search"></use></svg> </button> </span> </form> </div> </div> </div> </div> <div class="col-xs-3 hidden-sm hidden-md hidden-lg no-gutter"> <button type="button" class="navbar-toggle masthead-toggle" data-recalc="false" data-toggle="offcanvas" data-target="#offcanvas" data-canvas="body"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a id="btn-search-nav" class="btn-search"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#search"></use></svg> </a> </div> </div> <div class="row hidden-xs header-bottom"> <div class="col-sm-12 no-gutter"> <nav class="collapse navbar-collapse" data-track-gtm="Navbar"> <ul class="nav navbar-nav nav-channel"> <li class="dropdown channel" data-track-gtm="Channel Dropdown"> <svg viewBox="0 0 32 32" class="ic pull-right icon-2x" aria-hidden="true"><use xlink:href="#chevron-down"></use></svg> <a href="#" class="dropdown-toggle" id="vertical-dropdown" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Entertainment</a> <ul class="dropdown-menu" aria-labelledby="vertical-dropdown" itemscope itemtype="http://www.schema.org/SiteNavigationElement"> <li itemprop="name"><a itemprop="url" href="https://health.howstuffworks.com/">Health</a></li> <li itemprop="name"><a itemprop="url" href="https://science.howstuffworks.com/">Science</a></li> <li itemprop="name"><a itemprop="url" href="https://home.howstuffworks.com/">Home &amp; Garden</a></li> <li itemprop="name"><a itemprop="url" href="https://auto.howstuffworks.com/">Auto</a></li> <li itemprop="name"><a itemprop="url" href="https://electronics.howstuffworks.com/tech">Tech</a></li> <li itemprop="name"><a itemprop="url" href="https://people.howstuffworks.com/culture">Culture</a></li> <li itemprop="name"><a itemprop="url" href="https://money.howstuffworks.com/">Money</a></li> <li itemprop="name"><a itemprop="url" href="https://lifestyle.howstuffworks.com/">Lifestyle</a></li> <li itemprop="name"><a itemprop="url" href="https://entertainment.howstuffworks.com/">Entertainment</a></li> <li itemprop="name"><a itemprop="url" href="https://adventure.howstuffworks.com/">Adventure</a></li> <li itemprop="name"><a itemprop="url" href="https://animals.howstuffworks.com/">Animals</a></li> <li itemprop="name"><a itemprop="url" href="http://www.stuffmedia.com/">Podcasts</a></li> <li itemprop="name"><a itemprop="url" href="https://www.howstuffworks.com/videos">Video</a></li> <li itemprop="name"><a itemprop="url" href="https://play.howstuffworks.com/">Quizzes</a></li> </ul> </li> <li data-nlen="162.81" class="first-subcat"><a href="https://entertainment.howstuffworks.com/leisure-channel.htm" data-track-gtm="Subcat">Leisure Channel</a></li> <li data-nlen="242.334" class=""><a href="https://entertainment.howstuffworks.com/movies-film-channel.htm" data-track-gtm="Subcat">Movies</a></li> <li data-nlen="321.858" class=""><a href="https://entertainment.howstuffworks.com/sports-channel.htm" data-track-gtm="Subcat">Sports</a></li> <li data-nlen="382.874" class=""><a href="https://entertainment.howstuffworks.com/arts" data-track-gtm="Subcat">Arts</a></li> <li data-nlen="425.382" class=""><a href="https://entertainment.howstuffworks.com/tv.htm" data-track-gtm="Subcat">TV</a></li> <li data-nlen="495.652" class=" visible-md-block visible-lg-block"><a href="https://entertainment.howstuffworks.com/music-technology-channel.htm" data-track-gtm="Subcat">Music</a></li> <li data-nlen="556.668" class=" visible-md-block visible-lg-block"><a href="https://entertainment.howstuffworks.com/toys-channel.htm" data-track-gtm="Subcat">Toys</a></li> </ul> </nav> </div> </div> </div> </div> <div class="searchSectionMobile hidden"> <div class="searchBar"> <form class="searchFormMobile" action="//www.howstuffworks.com/search.php"> <span class="headerInput"> <button class="headerInputButton" type="submit"> <svg viewBox="0 0 32 32" class="ic icon-white" aria-hidden="true"><use xlink:href="#search"></use></svg> </button> <input class="headerInputBox" type="text" name="terms" placeholder="Search"> </span> </form> </div> </div> </div> </div> </div> <script type="text/javascript"> $("#btn-search-nav").bind("click", function() { var pageSlideDown = '#page' $(this).toggleClass('reveal'); $(".searchSectionMobile").toggleClass('hidden'); $(pageSlideDown).toggleClass('slide'); }); </script> </div> </header> <div id="page"> <div class="container" data-track-gtm="Page"> <div id="ad-wrap-bannerTop"> <div id="ad-div-bannerTop" class="ad-tag "> <script> if (typeof googletag !== 'undefined' && HSW.utilities.isMobile() === false) { googletag.cmd.push(function() { googletag.display('ad-div-bannerTop'); }); } </script> </div> <script>if (createStickyLeaderboard) { createStickyLeaderboard(); }</script> </div> <div class="breadcrumb hidden-xs " data-track-gtm="Breadcrumbs"> <ol itemscope itemtype="https://schema.org/BreadcrumbList" class="list-unstyled list-inline"> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a itemprop="item" href="https://www.howstuffworks.com/"> <span itemprop="name">HowStuffWorks</span> </a> <meta itemprop="position" content="1" /> </li> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a itemprop="item" href="https://entertainment.howstuffworks.com/"> <span itemprop="name">Entertainment</span> </a> <meta itemprop="position" content="2" /> </li> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a itemprop="item" href="https://entertainment.howstuffworks.com/toys-channel.htm"> <span itemprop="name">Toys</span> </a> <meta itemprop="position" content="3" /> </li> </ol> </div> <div class="row "> <div class="col-xs-12 editorial-title"> <h1>Why Legos Have Stood the Test of Time</h1> </div> <script> //twitter asynch window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; js.async = true; fjs.parentNode.insertBefore(js, fjs); t._e = []; t.ready = function(f) { t._e.push(f); }; return t; }(document, "script", "twitter-wjs")); </script> <script> $(document).ready(function() { $('.instagram-post').each(function () { searchText = $(this).text(); matches = searchText.match(/(?:(?:http|https):\/\/)?(?:www.)?(?:instagram.com|instagr.am)\/[p]\/([A-Za-z0-9-_]*)\//g); if ( matches != null && searchText === matches[0] ) { $.ajax({ context: this, url: "https://api.instagram.com/oembed/?maxwidth=600&url="+matches[0], dataType: 'json', success: function(data) {$(this).html(data.html); $(this).addClass('mb-2 margin-bottom2').show();} }); } }); }); </script> <div id="fb-root"></div> <div class="col-xs-12 col-sm-8 title-sub text-uppercase"> <div class="media"> <div class="media-body"><div class="pull-left"> <span class="content-author byline-segment">by <a data-track-gtm="Byline" href="https://www.howstuffworks.com/about-john-perritano.htm#perritano">John Perritano</a></span> <span class="content-date byline-segment">Jan 16, 2018</span> </div> <div class="share-wrap pull-left "> <div id="share-bar-top" data-track-gtm="Share Links : Upper" class="share-lite"></div> </div> <script id="share-html-top" type="text/template"> <ul class="list-inline"> <li><a target="_blank" class="share-twitter" data-track-gtm="Twitter" href="<% twitterURL %>" title="Share on Twitter"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#twitter"></use></svg> </a></li> <li><a target="_blank" class="share-facebook" data-track-gtm="Facebook" href="<% facebookURL %>" title="Share on Facebook"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#facebook"></use></svg> </a></li> <li class="hidden-sm hidden-xs"><a target="_blank" class="share-linkedin" data-track-gtm="LinkedIn" href="<% linkedInURL %>" title="Share on LinkedIn"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#linkedin"></use></svg> </a></li> <li class="hidden-sm hidden-xs"><a class="share-email" data-track-gtm="Email" href="<% emailURL %>" title="Share in Email"> <svg viewBox="0 0 32 32" class="ic " aria-hidden="true"><use xlink:href="#envelope"></use></svg> </a></li> </ul> </script> <script id="share-email-top" type="text/template"> Hi, I thought you would like this: <% url %>?utm_source=email&utm_medium=share&utm_campaign=hsw_share <% title %> </script> <script> HSW.share.init('top', 'https://entertainment.howstuffworks.com/todays-legos-are-more-than-just-toys.htm', 'Why\x20Legos\x20Have\x20Stood\x20the\x20Test\x20of\x20Time', '', { 'siteName' : 'HowStuffWorks', 'twitterVia' : 'howstuffworks' }); </script> </div> </div> </div> <div class="col-xs-12"> <hr /> </div> </div> <div class="row" id="column-wrapper"> <div id="editorial-well" class="col-sm-9 editorial-well" data-track-gtm="Body"> <div id="editorial-main"> <!-- google_ad_section_start(name=content) --> <div class="editorial-header"> </div> <article class="editorial-body infinite-container"> <div class="infinite-item" id="page0" data-slide="0"> <div class="full-width"> <div class="fragment-media " > <div class="media-hero-wrap"> <figure class=" progressive-load"> <picture style="padding-bottom: 56.198347107438%; background-image: url(https://resize.hswstatic.com/w_20/gif/legos-learning.jpg);"> <img class="progressive-img-thumbnail" src="https://resize.hswstatic.com/w_20/gif/legos-learning.jpg" alt="kids&#x20;playing&#x20;with&#x20;Lego" /> <img class="progressive-img-large" data-src="https://resize.hswstatic.com/w_907/gif/legos-learning.jpg" srcset="https://resize.hswstatic.com/w_320/h_180/gif/legos-learning.jpg 320w, https://resize.hswstatic.com/w_420/h_236/gif/legos-learning.jpg 420w, https://resize.hswstatic.com/w_907/gif/legos-learning.jpg 907w" sizes="(max-width: 320px) 320px, (max-width: 420px) 420px, 907px" alt="kids&#x20;playing&#x20;with&#x20;Lego" border="0" /><noscript> "<img src="https://resize.hswstatic.com/w_907/gif/legos-learning.jpg" width="907" alt="kids&#x20;playing&#x20;with&#x20;Lego" border="0">" </noscript> </picture> </figure> </div>"